Distributing a user interface for accessing files

ABSTRACT

In general, the subject matter described in this disclosure can be embodied in methods, systems, and program products for defining a navigation user interface that is to be presented by multiple client devices. A representation of the navigation user interface is presented. User input specifies a first collection of files that are to be accessible to users of the multiple client devices upon selection of a first element from the presentation of the navigation user interface. User input specifies a second collection of files that are to be accessible upon selection of a second element from the presentation of the navigation user interface. User input specifies multiple individuals to which the navigation user interface is to be displayed, and the navigation user interface is provided for display on devices assigned to the multiple individuals.

TECHNICAL FIELD

This document generally relates to various techniques for distributing auser interface for accessing files.

BACKGROUND

Users of computing devices may access information in various ways. Insome examples, an individual may use their computing device to viewfiles that are already stored on the computing device due to theindividual having previously transferred the files to that computingdevice. In some examples, the computing device may be connected to theinternet, and the individual may use the computing device to browse webpages and select files to view over the internet.

SUMMARY

This document describes techniques, methods, systems, and othermechanisms for distributing a user interface for accessing files.

As additional description to the embodiment described below, the presentdisclosure describes the following embodiments.

Defining and Distributing a Navigation User Interface.

Embodiment 1 is directed to a computer-implemented method. The methodcomprises receiving, by a computing system, an indication that a firstcomputing device received user input that defined a navigation userinterface that is to be presented by multiple client devices, with theuser input that defined the navigation user interface having specifiedthat the navigation user interface is to include a first selectableinterface element and a second selectable interface element. The methodcomprises providing, by the computing system and for receipt by thefirst computing device, first information that is configured to causethe first computing device to present a representation of the navigationuser interface that was defined at the first computing device. Themethod comprises receiving, by the computing system, an indication thatthe first computing device received user input that specified a firstcollection of files to be accessible to users of the multiple clientdevices upon selection of the first selectable interface element from apresentation of the navigation user interface. The method comprisesreceiving, by the computing system, an indication that the firstcomputing device received user input that specified a second collectionof files to be accessible to users of the multiple client devices uponselection of the second selectable interface element the presentation ofthe navigation user interface. The method comprises providing, by thecomputing system and for receipt by the first computing device, datathat identifies a plurality of individuals that are candidates fordisplay of the navigation user interface. The method comprisesreceiving, by the computing system, an indication that the firstcomputing device received user input that specified multiple differentindividuals, from among a presentation of the plurality of individuals,to which the navigation user interface is to be displayed, and inresponse identifying devices that are assigned to accounts of thespecified multiple individuals, wherein the identified devices includethe multiple client devices, wherein the specified multiple differentindividuals include a first individual that has an account to which afirst client device is assigned and a second individual that has anaccount to which a second client device is assigned. The methodcomprises providing, by the computing system and for receipt by each ofthe multiple client devices, second information that is configured tocause each of the multiple client devices to each: (i) present thenavigation user interface that was defined by the user input at thefirst computing device, including presentation of the first interfaceelement and the second interface element, (ii) provide user access tothe first collection of files in response to user input at therespective client device that selects the first selectable interfaceelement, and (iii) provide user access to the second collection of filesin response to user input at the respective client device that selectsthe second selectable interface element.

Embodiment 2 is the computer-implemented method of embodiment 1. Themethod further comprises receiving, by the computing system, anindication that the first computing device received user input thatselected the first selectable interface element. The method furthercomprises providing, by the computing system and for receipt by thefirst computing device, information that is configured to cause thefirst computing device to present, as a result of the first computingdevice receiving user input that selected the first selectable interfaceelement, an interface through which the first computing device receivedthe user input that specified the first collection of files. The methodfurther comprises receiving, by the computing system, an indication thatthe first computing device received user input that selected the secondselectable interface element. The method further comprises providing, bythe computing system and for receipt by the first computing device,information that is configured to cause the first computing device topresent, as a result of the first computing device receiving user inputthat selected the second selectable interface element, an interfacethrough which the first computing device received the user input thatspecified the second collection of files.

Embodiment 3 is the computer-implemented method of embodiment 1, whereinreceiving the indication that the first computing device received userinput that defined the navigation user interface includes receiving anindication that the first computing device received user input thatspecified a first size and shape for the first interface element. Italso includes receiving an indication that the first computing devicereceived user input that specified a second size and shape for thesecond interface element, wherein the first size and shape for the firstinterface element differs from the second size and shape for the secondinterface element.

Embodiment 4 is the computer-implemented method of embodiment 3 whereinthe user input that specified the first size and shape for the firstselectable interface element includes user input that interacted with adisplay of the first selectable interface element to resize the firstselectable interface element; and the user input that specified thesecond size and shape for the second selectable interface elementincludes user input that interacted with a display of the secondselectable interface element to resize the second selectable interfaceelement.

Embodiment 5 is the computer-implemented method of embodiment 1, whereinreceiving the indication that the first computing device received userinput that defined the navigation user interface includes: receiving anindication that the first computing device received user input thatspecified a first user-specified title and a first user-specified colorfor the first selectable interface element; and receiving an indicationthat the first computing device received user input that specified asecond user-specified title and a second user-specified color for thesecond selectable interface element. The first user-specified titlediffers from the second user-specified title. The first user-specifiedcolor differs from the second user-specified color.

Embodiment 6 is the computer-implemented method of embodiment 1. Themethod further comprises providing, by the computing system and forreceipt by the first computing device, information that is configured tocause the first computing device to present a collection of graphicalelements that respectively represent different navigation userinterfaces that are to be presented on various groups selected fromplurality of client devices, including the navigation user interface.The method further comprises receiving, by the computing system, anindication that user input at the first computing device selected aparticular graphical element from among the collection of graphicalelements, wherein the particular graphical element is assigned to thenavigation user interface. The method further comprises providing, bythe computing system and for receipt by the first computing device,information that is configured to cause the first computing device topresent, in response to the first computing device receiving the userinput that selected the particular graphical element, accessibility tovarious interfaces displays, including the navigation user interface,with which user input is able to (i) add and remove selectable interfaceelements to the navigation user interface, (ii) add files to and removefiles from the first collection of files, (iii) add files to and removefiles from the second collection of files, and (iv) add individuals toand remove individuals from the specified multiple different individualsto which the navigation user interface is to be displayed.

Embodiment 7 is the computer-implemented method of embodiment 6. Themethod further comprises receiving, by the computing system, anindication that the first computing device received (i) user input toremove the second selectable interface element from the navigation userinterface and (ii) user input to add a third selectable interfaceelement to the navigation user interface. The method further comprisesproviding, by the computing system and for receipt by each of themultiple client devices after the second information has already beenprovided for receipt by each of the multiple client devices, thirdinformation that is configured to cause each of the multiple clientdevices to present the navigation user interface with the firstselectable interface element and a third selectable interface elementsincluded in the navigation user interface, and the second selectableinterface element excluded from the navigation user interface.

Embodiment 8 is the computer-implemented method of embodiment 1. Themethod further comprises receiving, by the computing system, anindication that the first computing device received (i) user input toremove a second individual as an individual to which the navigation userinterface is to be displayed, and (ii) user input to add a thirdindividual as an individual to which the navigation user interface is tobe displayed, wherein a second client device of the multiple clientdevices is assigned to an account of the second individual, wherein athird client device is assigned to an account of the third individual.The method further comprises providing, by the computing system and forreceipt by the second client device, information that is configured tocause the second client device to remove access to the navigation userinterface. The method further comprises providing, by the computingsystem and for receipt by the third client device, information that isconfigured to cause the third client device present the user interface.

Embodiment 9 is the computer-implemented method of embodiment 1. Themethod comprises receiving, by the computing system before the secondinformation is provided for receipt by each of the multiple clientdevices, an indication that user input at the first computing devicespecified that the navigation user interface is to be accessible at thefirst client device at a first date. The method comprises receiving, bythe computing system before the second information is provided forreceipt by each of the multiple client devices, an indication that userinput at the first computing device specified that the navigation userinterface is to be accessible at the second client device at a seconddate, wherein the first date is different from the second date, whereinproviding the first information for receipt by each of the multipleclient devices includes the computing system providing the firstinformation for receipt by the first client device at the first date andproviding the first information for receipt by the second client deviceat the second date.

Embodiment 10 is the computer-implemented method of embodiment 1. Themethod further comprises receiving, by the computing system, anindication that the first client device presented a first file fromamong the first collection of files in response to user input at thefirst client device requesting to access the first file. The methodfurther comprises receiving, by the computing system, an indication thatthe second client device presented the first file from among the firstcollection of files in response to user input at the second clientdevice requesting to access the first file. The method further comprisesreceiving, by the computing system, an indication that the firstcomputing device received user input requesting to view a level ofaccesses of the first file by the multiple client devices. The methodfurther comprises providing, by the computing system and for receipt bythe first computing device, information that is configured to cause thefirst computing device to present an indication that the first clientdevice accessed the first file and that the second client deviceaccessed the first file.

Embodiment 11 is the computer-implemented method of embodiment 1. Themethod further comprises receiving, by the computing system, anindication that the first client device presented a first screen of afirst file in response to user input at the first client devicerequesting to navigate through screens of the first file. The methodfurther comprises receiving, by the computing system, an indication thatthe second client device presented the first screen of the first fileand a second screen of the first file in response to user input at thesecond client device requesting to navigate through screens of the firstfile. The method further comprises receiving, by the computing system,an indication that the first computing device received user inputrequesting to view a level of accesses of the screens of the first fileby the multiple client devices. The method further comprises providing,by the computing system and for receipt by the first computing device,information that is configured to cause the first computing device topresent (i) an indication that the first client device and the secondclient device presented the first screen of the first file, and (ii) anindication that the first client device presented the second screen ofthe first file to the exclusion of the second device presenting thesecond screen of the first file.

Embodiment 12 is the computer-implemented method of embodiment 1. Themethod further comprises receiving, by the computing system, a firstscreenshot that the first client device captured in response to userinput at the first client device to capture a screenshot. The methodfurther comprises receiving, by the computing system, a secondscreenshot that the first client device captured in response to userinput at the first client device to capture a screenshot. The methodfurther comprises receiving, by the computing system, an indication thatthe first computing device received user input requesting to viewscreenshots that the first client device captured in response to userinput requests at the first client device to capture screenshots. Themethod further comprises providing, by the computing system and forreceipt by the first computing device, information that is configured tocause the first computing device to present the first screenshot and thesecond screenshot that were captured at the first client device.

Embodiment 13 is directed to one or more computer-readable devicesincluding instructions that, when executed by one or more processors,cause performance of the method of any of embodiments 1-12.

Creating a Presentation-Creation Product.

Embodiment 1 is a computer-implemented method that comprises receiving,by a computing system, an indication that a first computing devicereceived user input to specify a name for a first presentation-creationproduct. The method comprises receiving, by the computing system, anindication that the first computing device received user input that addsmultiple assets to be available for use in the firstpresentation-creation product, the multiple assets including a firstimage and a second image. The method comprises providing, by thecomputing system and for receipt by the first computing device,information that is configured to cause the first computing device tovisually specify the multiple assets that were added for use in thefirst presentation-creation product. The method comprises receiving, bythe computing system, an indication that the first computing devicereceived user input creating multiple slides for the firstpresentation-creation product, wherein the user input specified that atleast one of the multiple assets to include as part of each of themultiple slides. The method comprises providing, by the computing systemand for receipt by the first computing device, information that isconfigured to cause the first computing device to present aslide-selection screen that includes a graphical representation of themultiple slides. The method comprises receiving, by the computingsystem, an indication that the first computing device received userinput that interacted with the slide-selection screen to select a firstgroup of slides to comprise a first presentation. The method comprisesreceiving, by the computing system, an indication that the firstcomputing device received user input that interacted with theslide-selection screen to select a second group of slides to comprise asecond presentation. The method comprises providing, by the computingsystem and for receipt by a first client device, information that isconfigured to cause the first client device to: (i) present a selectableinterface element that identifies the first presentation-creationproduct and that has the name that was specified by user input at thefirst computing device, (ii) in response to selection of the selectableinterface element that identifies the first presentation-creationproduct, concurrently present a first selectable interface element thatis associated with the first presentation and a second selectableinterface element that is associated with the second presentation, (iii)in response to selection of the first selectable interface element thatis associated with the first presentation, present an initial slide ofthe first presentation; and (iv) in response to selection of the secondselectable interface element that is associated with the secondpresentation, present an initial slide of the second presentation.

Embodiment 2 is the computer-implemented method of embodiment 1. Themethod comprises receiving, by the computing system, an indication thatthe first computing device received user input that assigned a firstportion of the multiple slides to a first section of slides, and userinput that assigned a second portion of the multiple slides to a secondsection of slides, wherein the slide-selection screen that is providedby the first computing device visually presents the first section ofslides and the second section of slides as being distinct from another.The information that the computing system provides for receipt by thefirst client device is configured to cause the first client device topresent a menu that includes a selectable option that identifies thefirst section of slides and a selectable option that identifies thesecond section of slides, and in response to user selection of the firstoption, cause the first client device to filter out presentation ofslides other than those in the first section of slides.

Embodiment 3 is the computer-implemented method of embodiment 1. Themethod comprises receiving, by the computing system, an indication thatthe first client device received user input to create a new presentationthrough use of the multiple slides created for the firstpresentation-creation product. The method comprises providing, by thecomputing system and for receipt by the first client device, informationthat is configured to cause the first client device to present apresentation-creation interface that presents the multiple slides thatwere created for the first presentation-creation product at the firstcomputing device. The method comprises receiving, by the computingsystem, an indication that the first client device received user inputthat specified: (i) a group of the multiple slides, (ii) an order toslides in the group of multiple slides, and (iii) a presentation namefor the group of the multiple slides having the specified order.

Embodiment 4 is the computer-implemented method of embodiment 3. Themethod comprises receiving, by the computing system, an indication thatthe first computing device received user input that identified a subsetof the multiple slides as being mandatory slides. Thepresentation-creation interface that is presented at the first clientdevice presents the multiple slides with the subset of the multipleslides as being pre-selected.

Embodiment 5 is the computer-implemented method of embodiment 1. Themethod comprises receiving, by the computing system, an indication thatthe first computing device received user input that adds, as one of themultiple assets that are to be available for use in the firstpresentation-creation product, a reference asset, including userspecification of a description for the reference asset and userspecification of another asset of the multiple assets to which thereference asset is to link when selected with user input. The methodcomprises receiving, by the computing system, an indication that thefirst computing device received user input to create a first slide, ofthe multiple slides, with the user input specifying that the first slideis to include the reference asset. The information that the computingsystem provides for receipt by the first client device is configured tocause the first client device to present the reference asset as a resultof user input selecting an interface element to toggle presentation ofthe reference asset while the first slide is being presented by thefirst client device.

Embodiment 6 is the computer-implemented method of embodiment 1. Themethod comprises receiving, by the computing system, an indication thatthe first client device received user input that adds, as one of themultiple assets that are to be available for use in the firstpresentation-creation product, a HyperText Markup Language (HTML) assetthat specifies an HTML file. The method comprises receiving, by thecomputing system, an indication that the first computing device receiveduser input to create a first slide, of the multiple slides, includinguser specification that the HTML asset is to be included as part of thefirst slide. The information that the computing system provides forreceipt by the first client device is configured to cause the firstclient device to (i) present a web page generated from the HTML file asa background of the first slide, and (ii) modify the background of thefirst slide in response to user interaction with a user interfaceelement that is defined by the HTML file.

Embodiment 7 is the computer-implemented method of embodiment 1. Themethod comprises receiving, by the computing system, an indication thatthe first computing device received user input that interacted with theslide-selection screen to select a secondary slide for a particular oneof the slides in the first group of slides. The information that thecomputing system provides for receipt by the first client device isconfigured to cause the first client device to present the secondaryslide overlaid the particular one of the slides in the first group ofslides in response to user input at the first client device that selectsan interface element for activating presentation of the secondary slideover the particular one of the slides, while the particular one of theslides is being presented.

Embodiment 8 is the computer-implemented method of embodiment 1. Thefirst presentation includes the first slide, the second slide, and athird slide of the multiple slides. The information that the computingsystem provides for receipt by the first client device is configured tocause the first client device to concurrently present a representationof the first slide, a representation of the second slide, and arepresentation of the third slide as the first client device presentsthe first slide of the first presentation.

Embodiment 9 is the computer-implemented method of embodiment 1. Thefirst group of slides to comprise the first presentation includes afirst slide of the multiple slides and a second slide of the multipleslides, but does not include a third slide of the multiple slides. Thesecond group of slides to comprise the second presentation does notinclude the third slide, but includes the first slide and the secondslide.

Embodiment 10 is one or more computer-readable devices includinginstructions that, when executed by one or more processors, causesperformance of the method of any of embodiments 1-9.

Distributing a Document Subject to an Approval Process.

Embodiment 1 is directed to a computer-implemented method. The methodcomprises receiving, by a computing system, an indication that a firstcomputing device received user input that selected a first document,from among a group of multiple documents that are subject to an approvalprocess by an approval computing system, as a document to add to acollection of assets, the assets in the collection of assets beingavailable for presentation on client devices that are remote from thecomputing system and the approval computing system. The method comprisesproviding, by the computing system, information that is configured tocause the first computing device to identify assets in the collection ofassets, including an indication that the first document is included inthe collection of assets. The method comprises providing, by thecomputing system and for receipt by the first computing device,information that is configured to cause the first computing device topresent a status of multiple documents that are subject to the approvalprocess, including: (i) an indication that the first document iscurrently unapproved, and (ii) an indication that a second document iscurrent approved. The method comprises receiving, by the computingsystem, an indication that the first computing device received userinput that specified multiple users to which the computing system is todistribute the first document upon the approval computing systemindicating that the first document has been approved, wherein themultiple users includes a first user and a second user. The methodcomprises receiving, by the computing system and from the approvalcomputing system, an indication that the first document has beenapproved. The method comprises providing, by the computing system andfor receipt by a first client device that is assigned to an account ofthe first user, in response to the computing system receiving theindication that the first document has been approved, the firstdocument. The method comprises providing, by the computing system andfor receipt by a second client device that is assigned to an account ofthe second user, in response to the computing system receiving theindication that the second document has been approved, the seconddocument.

Embodiment 2 is directed to the computer-implemented method ofembodiment 1. The method comprises providing, by the computing systemand for receipt by the first computing device in response to thecomputing system receiving from the approval computing system theindication that the first document has been approved, information thatis configured to cause the first computing device to update the statusof the multiple documents that are subject to the approval process toinclude an indication the first document is currently approved.

Embodiment 3 is directed to the computer-implemented method of claim 1.The method comprises receiving, by the computing system, an indicationthat user input at the first computing device specified that the firstdocument is to be accessible through a page of a user interface. Themethod comprises providing, by the computing system and for receipt bythe first client device, information that is configured to cause thefirst client device to present the user interface through which thefirst document is to be accessible.

Embodiment 4 is directed to the computer-implemented method ofembodiment 1. The information that the computing system provides andthat is configured to cause the first computing device to identify theassets in the collection of assets includes: (i) the indication that thefirst document is included in the collection of assets, including anindication that the first document is subject to the approval process;(ii) the indication that the second document is included in thecollection of assets, including an indication that the second documentis subject to the approval process; and (ii) an indication that a thirddocument is included in the collection of assets, including anindication that the third document is not subject to the approvalprocess.

Embodiment 5 is directed to the computer-implemented method ofembodiment 1. The computing system provided the first document forreceipt by the first client device without receipt of user input thatspecified that the computing system was to provide the first documentfor receipt by the first client device, after the computing systemreceived the indication that the first document had been approved.

Embodiment 6 is directed to the computer-implemented method ofembodiment 1. The method comprises receiving, by the computing systemand from the approval computing system after the first document has beenapproved and has provided for receipt by the first client device, anindication that a new version of the first document is available. Themethod comprises providing, by the computing system and for receipt bythe first client device in response to the computing system havingreceived the indication that the new version of the first document isavailable, the new version of the first document.

Embodiment 7 is directed to the computer-implemented method ofembodiment 6. The method comprises receiving, by the computing systemand from the approval computing system, an indication that the newversion of the first document is no longer approved. The methodcomprises providing, by the computing system and for receipt by thefirst client device in response to the computing system receiving theindication that the new version of the first document is no longerapproved, information that is configured to cause the first clientdevice to remove access to the new version of the first document.

Embodiment 8 is directed to the computer-implemented method ofembodiment 7. The method comprises receiving, by the computing systemand from the first computing device, an indication that user input atthe first computing device selected automated deletion from clientdevices of documents that transition from being approved to being nolonger approved. The computing system provides the information that isconfigured to cause the first client device to remove access to the newversion of the first document in response to the computing system havingreceived the indication that the user input at the first computingdevice selected automated deletion from client devices of documents thatare no longer approved. The computing system is configured to not causethe first client device to remove access to the new version of the firstdocument in response to the computing system having received anindication that the user input at the first computing device did notselect automated deletion from client devices of documents that are nolonger approved.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features,objects, and advantages will be apparent from the description anddrawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 shows a diagram of an example system for distributing a userinterface for accessing files.

FIG. 2 shows an introductory user interface of a system for designingand distributing navigation user interfaces.

FIGS. 3-4B shows user interfaces with which a user is able to manageindividuals that are candidates for receiving navigation userinterfaces.

FIG. 5 shows a user interface with which a user is able to create alibrary of assets that may be used to design navigation user interfacesand that may be accessed through use of navigation user interfaces.

FIGS. 6-10 show user interfaces with which a user can modify navigationuser interfaces or create a new navigation user interfaces.

FIGS. 11-14 show navigation user interfaces as they are presented on aclient device.

FIGS. 15A-B show a flowchart of a process for defining and providing anavigation user interface.

FIGS. 16-18 show user interfaces that display statistical informationidentifying interaction by users of client devices with certain assetsor pages of assets.

FIG. 19 shows a page at which a user can identify documents that have tobe validated.

FIG. 20 shows a user interface with which a user at computing device isable to create a social network page.

FIG. 21 shows how the social network user interface appears on theclient devices.

FIGS. 22-28 shows user interfaces from which to makepresentation-creation products.

FIGS. 29-32 shows how the presentation-creation products appear onclient devices.

FIGS. 33A-B show flowcharts of a process for creating and using apresentation-creation product.

FIGS. 34A-C show a swim-lane diagram of a process for distributing adocument subject to an approval process.

FIG. 35 shows a user interface for displaying assets that are subject toapproval.

FIGS. 36-37 show a user interface for creating a survey.

FIG. 38 shows how the survey appears on client devices.

FIG. 39 shows how the results of the survey are presented after thesurvey questions are distributed to the client devices and users takethe surveys.

FIG. 40 is a conceptual diagram of a system that may be used toimplement the systems and methods described in this document.

FIG. 41 is a block diagram of computing devices that may be used toimplement the systems and methods described in this document, as eithera client or as a server or plurality of servers.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

This document generally describes various techniques for distributing auser interface for accessing files. In various examples, an individualmay use the system described throughout this disclosure to design a userinterface that will be provided for display by multiple client devicesand with which users of the client devices may access files that werespecified by the individual. This disclosure refers to such a userinterface as a “navigation user interface” for reference purposes.Information for generating the navigation user interface, along with thefiles that can be accessed using the navigation user interface, may betransferred from a server system to the client devices while the clientdevices are online, but may remain accessible when the client devicesare offline. As such, users of the client devices may be able tointeract with the navigation user interface to access the multiple fileseven when the client devices are without internet access.

An individual may design multiple such navigation user interfacesthrough use of a web site (sometimes referred to as a web application)that is hosted by a computing system that may be remote from a computingdevice at which the individual accesses the web site. The individual canspecify recipients to which the navigation user interfaces are to bedistributed. When client devices that are assigned to those recipientscome online, the computing system may transmit information forgenerating those user interfaces to the client devices. Some of theclient devices may be able to present multiple such navigation userinterfaces.

Such a system may be particularly helpful in situations in which anorganization may desire to control the information that is accessible tousers of the client devices and monitor use of that information. Anexample situation is with pharmaceutical companies and their salesrepresentatives. Laws and regulations may prohibit the type of documentsthat sales representatives are able to show to medical professionals,such as doctors. Pharmaceutical companies may want to not only controlwhich documents are accessible on electronic devices carried by theirrepresentatives, but may wish to track usage of these documents.

In an example scenario presented in this disclosure, a pharmaceuticalcompany may distribute tablet client devices to sales representatives,and those representatives may use the tablets to review information onvarious medications and present that information to medicalprofessionals. Because the information on the tablets is being shown tothird parties, the company desires to not only control the files thatare accessible through use of the client device, but also the userinterface through which company representatives are able to access thosefiles. In fact, each tablet may be able to present multiple such userinterfaces, for example, each being for a different medication. Theemployee at the pharmaceutical company may be able to designate whichsales representatives are to receive which of multiple user interfaces,and times at which the user interfaces are to be distributed.

As discussed in greater detail below, one of the files that may beaccessible through a navigation user interface may be a presentationthat was designed by an employee of the pharmaceutical company throughuse of the web site. In other words, the web site may enable a companyemployee to quickly create presentations through a multi-step process:developing a list of assets (e.g., images and videos) from which tocreate slides, creating slides using the assets, assigning the slides tovarious sections, and then creating one or more presentations. The oneor more presentations that are generated from a particular collection ofslides may be transmitted to a client device as a group, and that clientdevice may then permit a user to view the one or more presentations.

As also discussed in greater detail below, the navigation user interfacemay provide access to documents that require approval by a remotecomputing system. For example, some documents may be involved in avetting process by which a group of individuals (e.g., people in adifferent department at an organization) review and update a document toensure that it is accurate and does not violate certain laws orregulations. Once the document is approved, the computing system thatdistributes the navigation user interface may receive an indication thatthe document has been approved. At that time, the computing system mayautomatically send the approved document to the client devices that arehosting the navigation user interface. In response, the client devicesmay update their navigation user interface to permit access to thenewly-approved document (a link to the document may not previously haveappeared in the navigation user interface, or that may have beennon-selectable, may become active). The computing system may also sendout updated versions of documents as those updated versions areapproved, and can cause client devices to remove access documents thathave been unapproved.

These features, and others are described in additional detail withreference to the figures.

FIG. 1 shows a diagram of an example system for distributing a userinterface for accessing files. The system includes a computing device110 at which an individual can design various navigation user interfacesand assign assets to those user interfaces. The navigation userinterfaces may be designed through use of a web site that is provided bycomputing system 120, which communicates with the computing device 110over a communication network 150, such as the internet. Information thatspecifies the design of the user interfaces may be stored in userinterface datastore 146.

The computing system 120 may provide the navigation user interfaces forreceipt by client devices 130 a-c. User account datastore 144 may assignthese client devices to user accounts. The assets that computing system120 may distribute to the client devices 130 a-c may be stored in orreferenced by the assets datastore 142. Usage statistics datastore 141may store statistics that identify user interaction with client devices130 a-c to access certain assets and screens thereof.

The functioning of the system that is shown in FIG. 1 is discussed ingreater detail with reference to other figures. The diagram shown inFIG. 1 is intended to aid discussion of the mechanisms that are referredto in this disclosure, but the disclosure is not meant to be limited tothis description.

FIG. 2 shows an introductory user interface of a system for designingand distributing navigation user interfaces. The introductory userinterface that is presented in FIG. 2 may be provided by a web browserat computing device 110. A user of that computing device may havelaunched a web browser application program and entered a URL for the webpage that is shown in FIG. 2, or selected a bookmark that is directed tothe URL. In response, the computing device 110 may send a request overthe internet to a remote server system (e.g., computing system 120) forresources that correspond to the URL. The computing device 110 mayreceive responsive resources (e.g., an HTML file, script code, images),from which a web browser application program at the computing device 110may render the web page that is presented in FIG. 2.

The web page that is shown in FIG. 2 may be an introductory webpage to awebsite, and that introductory webpage may be presented to a user thathas logged onto the website (e.g., using a login name and credentialsfor a user account). The web page includes multiple icons 210 a-l that auser can select to cause the web browser to navigate to a display of auser interface for the respective icon. For example, a user may tap aportion of a touchscreen at which the icon is displayed, or click amouse over a display of the icon, to cause the computing device 110 tosend a request for resources corresponding to a different web page, toreceive the responsive resources, and then to generate a display of aweb page from the responsive resources. In some implementations, all orsome user interface changes at computing device 110 may involve sendingresource requests to computing system 120 and receiving resourcesresponsive thereto. In this illustration, the user selects the “Users &Teams” icon 210 e to cause the web browser to navigate to the userinterface that is presented in FIG. 3.

FIG. 3 shows a user interface with which a user is able to manageindividuals that are candidates for receiving navigation userinterfaces. In this example, sidebar 310 includes user interfaceelements 312 a-j that correspond to the icons 210 a-l that werepresented in FIG. 2. Here, the “My Reps” user interface element 312 a ishighlighted to indicate that the user is currently at therepresentatives webpage. The sidebar 310 may appear in many of the pagesof the website, to aid user navigation.

The right side of the web page includes a list of representativesportion 320. This portion indicates all users (e.g., user accounts) thatmay be modifiable by an account of the user that logged in (here EricDupont). In various implementations, the user that logged in may be amanager or marketer at a pharmaceutical company, and the individualsthat are shown at the right portion of the screen may be salesrepresentatives that work for the company.

A user of the webpage may form groups of representatives. For example,this webpage shows a “Genkor Sales Team” group 330 a and a “DelegueProduct A” group 330 b. Each displayed group may include icons for therepresentatives that are members of that group. Representatives maybelong to multiple groups, and a representative that is shown in a groupmay still appear in the list of representatives 320. A user of thewebpage may add a representative to a group of individuals, for example,by selecting an icon for a representative in the list of representatives320 and dragging and dropping that icon in a region presented for anexisting group.

A user may add a new group by selecting the “Add new group of reps”selectable interface element 340. In response, the system may generate apop-up box that includes a field with which a user can specify a namefor a new group. In response, the computing system may generate a labelfor the new group in the web page of FIG. 3, and enable dragging anddropping new users to that group.

A user may add a new representative to the list of representatives 320by selecting the “Add new rep” user interface element 342. In response,the computing device may present a pop up box that includes fields forentering a first name, a last name, an email address, a password, and anavatar/icon to visually represent the user. The user can then select a“create” interface element in the pop up box to add the newrepresentative to the list of representatives 320. The system can alsoimport multiple users through synchronization with a company directory(e.g., a synchronization with an address book).

A user can select an interface element to cause navigation to the webpage that is shown in FIGS. 4A-B. This web page enables a user to edit arepresentative's first name, last name, email address, password, andavatar/icon through interaction with user interface elements 410 (e.g.,editable text fields). Under those elements are icons 412 a-d with whicha user can clear data for the representative (icon 412 a), update alicense for the representative (icon 412 b), delete the representative(icon 412 c), and deactivate the representative (icon 412 d).

The top-right portion of the web page includes an “Assigned Briefcases”section 420 that lists the briefcases (referred to herein as navigationuser interfaces) to which a user is assigned. These briefcases will bediscussed in additional detail in other portions of this disclosure, butin this illustration it is apparent that representative Frank Dubois isassigned to three Briefcases: “Genkor,” “Andrew's briefcase,” and“Ocrelizumab Lunch Campaign.” The web page shows the version of thebriefcase and includes a pull-down menu with which the user can seewhich of Frank's devices are authorized to view the particularbriefcase. For each briefcase, there is also a region that displays astatus icon that represents the status of each briefcase for each device(once a device has been selected from the pull-down menu). A grayelement indicates that the device has never connected to the internet toretrieve the briefcase and is not synced to include the briefcase. ABlue element indicates that the device has connected to the internet toretrieve the briefcase and has the latest documents downloaded.

The start date for each briefcase indicates the first time that thebriefcase was synced to that user (or a particular device for thatuser). The “Remove” user interface element allows a user to remove arepresentative's access to a particular briefcase.

Further down the web page is a devices section 430. This section listsall of the devices that are assigned to the representative and withwhich the representative can view briefcases that are assigned to him.In some examples, only a single device may be assigned to therepresentative, although this example shows multiple devices. For eachdevice, the web page displays a name of the device, a version of theoperating system, and whether that device is currently connected to theserver systems that provide updated files and briefcases. The user ofthe webpage can select a toggle interface element to add and removeauthorization for a particular device to access briefcases and content.

FIG. 4B shows a bottom portion of the web page that was shown in FIG.4A. The bottom portion includes a list of screenshots 440, which showsscreenshots that were captured on one or more client devices assigned tothe representative. For example, the first time a client device mayreceive input to capture a screenshot, the client device may prompt thedevice user (e.g., the sales representative) whether the device ispermitted to capture the screenshot and transmit it to the serversystem. Should the representative authorize transmission, eachscreenshot captured by the system may be transmitted and stored at theserver system (e.g., computing system 120), to be presented on the webpage that is shown in FIG. 4B. Should the representative decline captureand transmission of the screenshot, the client device may transmit anindication that transmission was declined, and the web page that isshown in FIG. 4B may state “User didn't authorize access to thescreenshot” for that particular screenshot.

FIG. 5 shows a user interface with which a user is able to create alibrary of assets that may be accessed through use of navigation userinterfaces. In this illustration, and as shown by the sidebar to theleft of the web page, the user has clicked on a “My Assets” interfaceelement. As a result, the web browser has displayed a list of assets502. That list includes various assets (e.g., files such as documents)and folders that include assets therein.

Users can add files to the library by selecting a “Select Files”interface element 504. In response, the computing system may display ofa dialog box from which a user may be able to select one or more filesfrom the user's computer or from a remote system (e.g., a systemaccessed via the internet). Upon selection, the files may appear in thelist of assets 502.

A user can also add a file by selecting an “Import from Zinc” interfaceelement 506. In response, the computing system may display a dialog boxfrom which a user may be able to select one or more files that aresubject to approval by an approval system (as described in greaterdetail with respect to FIGS. 34A-C and 35).

Among those assets that are already included in the list of assets 502,the user interface may include a “Z” icon next to any documents that areassets that were imported from the Zinc system (e.g., document 512).Those assets that are created with the DIALOG system (described later inthis document) may be shaded blue.

A user may also select each asset (e.g., by clicking with a mouse orselecting with touch) to cause the webpage to present a pop-up box 508.From that pop-up box 508, the user is able to rename a file, share afile, download a file to their computer, and delete a file. Should theuser select the “Share” interface element, the web page may displaydialog box 510. That dialog box may include multiple individuals towhich the user is permitted to share the asset (e.g., by clicking acheck box next to each representative, where the list of representativesmay be those from the list of representatives portion 320 (FIG. 3).

FIG. 6 shows a user interface with which a user can modify a navigationuser interface or create a new navigation user interface. A navigationuser interface may be a user interface that is created for display byanother device, and through which that other device can navigate tosubpages to access files. In this example, a user has selected the“Briefcases” interface element in the sidebar of the web page that isshown in FIG. 6. In response, a request may be sent to computing system120 that in return provides resources to client device 110 forgenerating the display that is provided in FIG. 6. (Each of the displaysthat are provided on client device 110 throughout this disclosure may begenerated through a similar client-server communication model.)

The web page includes a collection of interface elements 610 a-h thatidentify previously-created navigation user interfaces. A user can edita previously-created navigation user interface by selecting itsrespective interface element. The web page also includes an interfaceelement 620 that can be selected to create a new navigation userinterface.

In response to selection of the new navigation user interface element620, the web browser at the client device 110 may present the web pagethat is shown in FIG. 7. The web page that is shown in FIG. 7 mayindicate at section 710 that there are four steps to creating anavigation user interface, and that the user is currently at a firststep. At this page, the user can specify a name for the navigation userinterface through text entry field 720 and a description for thenavigation user interface through text entry field 730. The user canalso select a “Warning” element 740. Selecting the warning element 740can indicate that the navigation user interface that is about to becreated may include non-approved materials, and therefore when anindividual opens the newly-created navigation user interface on theirclient device (e.g., one of devices 130 a-c, sometimes referred toherein as just device 130), the client device may present a warning thatthe navigation user interface may present non-approved materials.

Selecting the “Share with” element 750 allows a user of the computingdevice 110 to designate other users of devices similar to computingdevice 110 to which the navigation user interface is to be shared (e.g.,there may be multiple marketers at a pharmaceutical company that arecreating navigation user interfaces for field representatives).Selection of the share with element 750 may cause the webpage to presenta dialog box that allows a user to select not only particular users towhich the navigation user interface should be shared, but also whetherthose users have “Edit” access and “Delete” access.

In response to selection of the “Save and Next” element 760, thecomputing device 110 may present the user interface that is shown inFIG. 8. Using the web page that is shown in FIG. 8, an individual isable to define the appearance of the navigation user interface. Forexample, this web page includes a representation of how the userinterface may look on any client device 130 a-c to which the navigationuser interface is to be provided. Indeed, the web page includes anoutline 810 of an example client device tablet computer that includes adisplay region 812 that represents the screen of the client device(dimensioned the same as the screen on the actual client device), andwithin which a user is able to specify the features of the navigationuser interface that may be presented on the client device.

In this example, the navigation user interface (e.g., the interfaceshown within display region 812) includes seven selectable interfaceelements 820 a-g, which the figures (and this disclosure at times)refers to as “tiles” of the user interface. The size and shape of eachof these tiles may have been created by user input at the computingdevice 110. For example, the user may have selected the user interfaceat a particular location (e.g., at the “Add New Tile” element 822) tocreate a new selectable tile, and then may drag that tile to define asize and shape of the interface element. In other words, selecting theAdd New Tile element 822 may cause the computing system to present anadditional tile, after which the user input drag the tile to a newposition, and additional user input may drag a side or corner of thetile to change its size and dimensions. In effect, the user may drag acorner of the newly-created tile to stretch it in various directions.Once the tile has been created, a user may again select the tile to dragit around to a new location on the display. In various examples, thetiles may snap to predetermined locations in a grid, and may not be ableto overlap other tiles in the display region 812 (at least notpermanently, such that the overlap would appear when the navigation userinterface is presented for display by a client device). In variousexamples, the computing system may require that the entire displayregion 812 be filled with tiles before the display region 812 can bepresented by a client device.

Upon mouseover or contact with a tile, the computing device 110 maypresent icons that allow a user to either remove or edit the tile (e.g.,as shown by the edit and delete icons presented on tile 820 g). Inresponse to selection of the edit interface element, the computingsystem may present a dialog box at which a user is able to provide aname for the tile, a description for the tile, a background color forthe tile, and an optional icon to be displayed by the tile. In FIG. 8,the selectable element 820 a includes the user-defined title “Andrew'scongress material.” Any user-specified description may appear in smallertext below this title. Below that description may be the list of assets(here just “Congress list.pdf”). In this example, there is an assetalready added (presumably because this screenshot shows a user editing apreviously-created navigation user interface).

FIG. 9 shows a user interface for adding assets to a tile. The computingdevice 110 may show this user interface in response to a user selectingan “Add tile assets” element from the web page shown in FIG. 8 (or otherweb pages that include that interface element). In response, the webbrowser may present another representation 812 of the navigation userinterface, except that this time when a user selects a tile it causesthe web browser to present a dialog box 810 from which a user is able toassign one or more assets to the selected tile. In this example, thedialog box includes a list of assets 820 that may represent those assetsthat were defined through the assets interface that is presented in FIG.5. A user may drag one or more of these assets to the “Tile Content”region 830 of the dialog box 810 to assign those assets to the selectedtile. The assigned assets may display below the title of the tile, asillustrated for selectable element 820 in FIG. 8, and may be accessibleto an end user of a client device 130 to which the navigation userinterface is ultimately provided.

For those assets that are added to the tile (e.g., asset 132), the usercan set multiple settings. For example, selecting an email icon 134 aenables a user to specify whether a representative that is accessing thefile through a client device 130 is able to email or otherwise share thefile with other devices. An edit icon 134 c enables a user to edit aname of the file. A remove icon 134 d enables a user to remove thedocument from the selectable element.

A sync icon 134 b enables a user to specify when the file should besynced with a client device and when that file is to expire. In responseto selection of this icon, the computing device 110 may present thedialog box 140. This dialog box may include fields that enable a user tospecify a validation or start date and time, and an expiration date andtime. With these dates specified, the computing system 120 may notprovide the file to any of the client devices 130 a-c until that dateand time has arrived. The client devices 130 a-c may include code thatprevents users from viewing the file after the expiration date has beenreached (and the file may disappear from display in its respectivetile).

Selecting the “Sync all now” button may cause the computing device 110to send an indication to the computing system 120 that the assets forthe tile are to be synced to any of the client devices 130 a-c to whichthe briefcase has been designated (at least for those assets that do nothave a validation date that is set in the future). This tile-by-tilesyncing can be particular helpful when a user edited a navigation userinterface to add or remove assets from a particular tile. In a similarmanner, a user may add or remove tiles themselves, or the appearances oftiles in real time even after the navigation user interface has beendeployed to remote client devices 130 a-c.

FIG. 10 shows a user interface at which an individual can assign anavigation user interface for display by one or more recipients. Thisuser interface may be navigated to by user selection of the “Reps”interface element in various displays. In this example, a list ofpotential recipients 1010 is presented to the left side of the page.This list may present those individuals that were specified at the “MyReps” web page that is shown in FIG. 3 (although the list may differslightly here because screenshots of the user interfaces may have beentaken during different sessions).

In this example, the groups that are specified in the web page at FIG. 3(e.g., see groups 330 a and 330 b) may be presented separately thanthose representatives that are shown in the list of representatives 320(FIG. 3) but are not found in any group. A user may add one or more ofthe potential recipients to the list of designated recipients 1020, forexample, by selecting a particular individual (with a mouse click or atap on a touch screen on that person's name) or by selecting an entiregroup of individuals (with a mouse click or a tap on that group's name).

Those individuals that have been added to the designated recipients listare also shown to the right of the screen, where a user can specify thesend date, and then click an “Add” interface element to add that user asa confirmed recipient for the navigation user interface. Once the userhas been added as a confirmed recipient for the navigation userinterface, the next time that the user's client device 130 logs onto theinternet and syncs with the computing system 120 (assuming that date isafter the “Send Date” that is specified in the web page of FIG. 10), theclient device may download the navigation user interface. This processmay occur without the user of the client device specifically selectingthe navigation user interface for download. It may just appear in theirlist of navigation user interfaces. Should the navigation user interfacechange (e.g., through user interaction with the interfaces presented inFIGS. 6-10), the client device 130 may update its navigation userinterface when it syncs with computing system 120.

In this way, an individual that is designing or updating a navigationuser interface can specify different dates for different individuals toreceive the navigation user interface (see FIG. 10), and can specifydifferent dates for different files to be distributed to designatedrecipients (see FIG. 9). As such, some users may have access to thenavigation user interface on their client devices 130 a-c before otherusers, and even once some or all users have access to the navigationuser interface, one or more files may remain unavailable until a laterdate.

FIG. 11 shows the navigation user interface as it is presented on aclient device 130. This example shows what a tablet client device maypresent after a user selects an icon to launch the application programform a home screen of the tablet. The application program that generatedthe display (and receives updates in the form of navigation userinterfaces), may have been downloaded from an application marketplaceand may not be part of the operating system. The first screen that ispresented upon launching the application program may be that for anavigation user interface, such as that shown in FIG. 11 for the “DemoBriefcase.” If there are no navigation user interfaces assigned to theuser, then the screen may appear empty (e.g., as a gray screen).

In this example, the display presents selectable interface elements(tiles) 1110 a-h that a user of the client device can select, whichcauses device navigation to respective subpages. The selectableinterface elements may not be resizable or modifiable on the clientdevices 130 a-c, as they may be when designed through user input atcomputing device 110. The tiles in this example are not fully designed,as only tile 1110 a includes a title and a description that wasspecified by a user of the computing device 110.

Upon user selection of tile 1110 a, the client device may navigate to adisplay of a sub-page of the navigation user interface (such as thatshown in FIG. 11) that shows certain assets that are assigned to thattile. For example, the user interface in FIG. 12 shows a “Congresslist.pdf” file 1210 that user input can select. Upon selection of theuser input, the client device may display the content of the file (e.g.,the pages of the PDF) in full screen mode or substantially full-screenmode through a viewer application program. A user can also provide inputto view the content of the file in its native application rather thanthrough the viewer application program. A user can also provide input toview a list of secondary options 1220 for any given file. That list ofsecondary options 1220 may allow a user to re-download a file, add thatfile to a favorites list (or remove if already added), and share thedocument, for example, with email if permitted through the correspondingsetting that is modifiable at the user interface that shown in FIG. 9.

The user interface that is shown in FIG. 12 may also present multipleicons 1230 a-f that allow navigation to subpages for respective tiles1110 a-f. In other words, a user does not need to navigate back to theoverview page for the navigation user interface (e.g., that shown inFIG. 11) to navigate to a different sub-page and view files that areaccessible through interaction with that sub-page.

FIG. 13 shows an overview page for another navigation user interface,this one being the “Genkor” navigation user interface. A user of aclient device may have navigated to this user interface through userinteraction with a “Genkor” element in the navigation user interfacedrop-down list 1310 that is presented at the top of the display. Thatdrop-down list 1310 may present all navigation user interfaces that havebeen assigned to the recipient that was associated with the clientdevice (e.g., through interaction with the page that is shown in FIG. 10and similar pages for other navigation user interfaces design pages).

As may be apparent, the navigation user interface that is shown in FIG.13 includes tiles that show more content (e.g., titles and descriptions)than those in FIG. 10. Indeed, each of the tiles includes an icon at thetop of the tile (typically the upper left), that was specified throughuser interaction with the web page shown in FIG. 8 (e.g., a dialog boxthat appears when a user selects to edit a tile). These tiles may bethose that are shown in the icons 1230 a-f that appear in FIG. 12 (andFIG. 14, to be described below).

User selection of a tile (e.g., one titled “Detail Aids” which is hiddenbehind the drop-down list 1310, may cause user navigation to theinterface that is presented in FIG. 14. This sub-page shows multiplefiles that are assigned to that tile, and that a user can select to view(or potentially share, if settings permit, or add or remove from“Favorites”). User input can also prompt the client device change thedisplay from an icon view to a list view through user interaction withelement 1410. The elements to the right side each include an icon thatallows direct navigation to other sub pages.

At the top right of the overview page for each navigation user interfaceand each subpage are five selectable elements. Element 1422 is anelement that toggles display between the currently-selected subpage andthe overview page for the current navigation user interface. If at anoverview page, selection of element 1422 may cause navigation to thelast-presented subpage. Element 1424 is an element that causes a displayof a list of surveys in a drop-down list upon user selection.

Element 1426 is an element that, upon user selection, causes the clientdevice to perform a batch download of all files that are queued at thecomputing system 120 for download to the client device. For instance,while the client device may automatically download the latest versionsof navigation user interfaces (e.g., without user input thatspecifically requests download of such user interfaces), the clientdevice may not download all or some of the assets that are presented onthe sub pages of each navigation user interface. To perform thisdownload, user input may have to select element 1426, which may downloadall such assets that are queue for download for the particularnavigation user interface, or for all navigation user interfaces.

Element 1428, when selected, causes the client device to present adrop-down list of assets that were bookmarked, with the bookmarkedassets separated with labels that identify the navigation user interface(briefcase) to which they belong. Element 1430 is an element thatprovides access to various settings, for example, to change a password,re-sync the client device with any updated navigation user interfacesfrom the network, and provide an ability to log out of a user account.In some examples, there is an additional element at the top that ishidden and that may be shown in response to a user swiping the elements1422-1428 to the side. This additional element may provide user accessto the social network screens that are discussed throughout thisdocument.

FIGS. 15A-B show a flowchart of a process for defining and providing anavigation user interface.

At box 1502, a computing device receives user input that defines anavigation user interface that is to be presented by multiple clientdevices. For example, the computing device 110 may define the navigationuser interface through user interaction with the displays of FIGS. 8 and9. The definition may include receiving user input that specifies a sizeand shape of a first selectable element and a second selectable element(box 1504). For example, a user may add the selectable elements 820 a-eto the display and resize those elements, as discussed throughout thisdocument.

Some portions of this disclosure may refer to a computing systemreceiving an indication that user input was provided at a computingdevice to perform certain actions. This disclosure may refer to thecomputing system 120 receiving an indication (e.g., an internet requestor communication) that the user input was provided at computing device110. Although not repeated throughout this description exhaustively, itshould be understood that most or all user inputs provided at computingdevice 110 may cause a communication indicating that the input occurredto be provided for receipt by the computing system 120, and that most orall displays provided by the computing device 110 may be provided as aresult of processing information that was provided by the computingsystem 120, for example, in response to user input at the computingdevice 110.

At box 1506, the computing device receives user input that selects afirst element and in response provides an interface to allow a user tospecify a first collection of files. For example, user input may selecta tile that is shown in FIG. 9 in order to present the dialog box 810that is presented in FIG. 9.

At box 1508, the computing device receives user input that specified afirst collection of files that are to be accessible by a client deviceupon selection at that client device of an interface element. Forexample, the user may specify one or more files using dialog box 810(FIG. 9) to permit those files to be presented on a client device inresponse to a user of the client device selecting the correspondingelement (e.g., so that the assets would be presented on a subpage, suchas that shown in FIG. 14, upon user selection of a tile for thesubpage). At boxes 1510 and 1512, similar operations are performed for adifferent tile.

At box 1514, the computing device provides a representation of thenavigation user interface. For example, the user interfaces that areshown in FIGS. 8 and 9 present mock-ups or representations of thenavigation user interface as it may be shown on the client device, withthe same number of tiles being arranged in the same way and with thesame relative dimensions, color, and orientation as they are to bedisplayed by the client device. Moreover, the tiles may show at leastthe titles and corner icons that would be shown by the client device.

At box 1516, the computing device receives user input that specifiesmultiple individuals to which the navigation user interface is to bedisplayed. For example, user input may designate multiple recipientsthrough user interaction with the user interface that is shown in FIG.10.

At box 1518, the computing system (e.g., computing system 130, or thecombination of the computing system 130 and the computing device 110)causes multiple devices assigned to the multiple individuals to presentthe navigation user interface. For example, upon the computing systemidentifying that a client device that is assigned to a user account forone of the multiple individuals is online and connected to the internet(e.g., because the client device sent a request for new content to thecomputing system), the computing system may provide data to the clientdevice for generating a display of a navigation user interface. Asdiscussed throughout this document, the data may be provided for receiptby a particular user only after a date that is specified throughinteraction with the FIG. 10 user interface.

At box 1552, the computing device presents a collection of graphicalelements that represent different navigation user interfaces. Forexample, a web browser at client device 110 may present the interfaceshown in FIG. 6, which includes multiple interface elements 610 a-g thatidentify previously-created navigation user interfaces.

At box 1554, the computing device receives selection of a particular oneof the graphical elements, which allows a user modification of thecorresponding navigation user interface. For example, user input is ableto add and remove selectable interface elements to the navigation userinterface, add files to and remove files from the collection of filesfor any of the tiles, and add individuals to and remove individuals fromthe individuals to which the navigation user interface is to bedisplayed (e.g., through user interaction with the interfaces that arepresented in FIGS. 7-10).

At box 1556, the computing device receives user input to remove aselectable element (e.g., a tile) and add another selectable element(e.g. another tile). For example, assuming that the navigation userinterface that is presented in FIG. 8 was complete, a user may removeone tile and add one or more tiles in its place.

At box 1558, the computing system provides the updated navigation userinterface to client devices. For example, the computing system 120 mayreceive indications of the changes that a user made at the computingdevice 110, and may provide information for receipt by client devices130 a-c that cause the client devices 130 a-c to present the updateduser interface.

At box 1560, the computing system receives user input to remove anindividual as a designated recipient and to add another individual as adesignated recipient. For example, user input may interact with theinterface that is shown in FIG. 10 to remove and add designatedindividuals.

At box 1562, the computing system causes a device assigned to oneindividual to remove access to the navigation user interface and adevice assigned to another individual to add access to the navigationuser interface. For example, for the individual that was removed fromhaving access to the navigation user interface through interaction withthe interface of FIG. 10, the computing system 120 may send anindication to the corresponding client device to remove access to thenavigation user interface (e.g., to no longer present the name of thenavigation user interface in the drop-down list 1310, shown FIG. 13).For the individual that was added to have access to the navigation userinterface, the computing system may send information to thecorresponding client device to cause that client device to present thename of the navigation user interface in the drop-down list 1310.

FIGS. 16-18 show user interfaces that display statistical informationidentifying interaction by users of client devices 130 a-c with certainassets or pages of assets. These user interfaces are available throughuser selection of the “Usage Tracking” element from the sidebar that ispresented for most pages. In FIG. 16, a user can select the navigationuser interface (e.g., the “Briefcase”) from pull-down element 1602,which may present a list of multiple navigation user interfaces on whichto view usage statistics. In this example, “Andrew's briefcase” has beenselected. A user may then select the type of asset on which to viewusage statistics using the pull-down element 1604. The user may thenselect one of multiple representatives to which the navigation userinterface is distributed using the pull-down element 1606. The user mayalso select a date range between an initial date and an end date usingthe user interface elements 1608 a-b.

The result of these user selections is an identification, from a set ofdata that may identify all accesses of all types of assets by allrepresentatives for all navigation user interfaces, those selectionsthat fit the criteria specified through use of the interface elements1602, 1604, 1606, and 1608 a-b. This data can be displayed in variousforms, and is presented in FIG. 16 as a line graph 1620 that plots thenumber of accesses (on the vertical axis) over time (horizontal axis).In this example, it shows that sometime just before May 1, the user“Andrew” accessed general assets (e.g., all assets in some examples) 11times, and then accessed (e.g., opened) the general assets three timeson each of two days in early May. The pie chart 1630 to the right of thepage shows overall usage or accesses of assets for all types.

FIG. 17 shows a user interface that is similar to that shown in FIG. 16,except that in FIG. 17 the user has selected to view statistics on PDFassets accessed by Frank Dubois using the Genkor navigation userinterface. Since a particular type of asset was selected, the user maybe able to select an element to identify either all PDF documents orparticular PDF documents. In this example, the user has selected to viewjust accesses of the document “PDF1.” As a result, the line chart 1710plots accesses of that document over time.

FIG. 18 shows a user interface that is similar to that shown in FIGS. 16and 17, except that the type of asset selected is an HTML asset. Withthis type of asset (and others, in various embodiments), the asset mayinclude multiple pages and the computing device 110 may display a firstbar chart 1810 that shows a number of times each of the pages wasaccessed, and a second bar chart 1820 that shows a total time spent bythe respective client device on each of the pages. In this example, itis apparent that although the user visited the “algorithm” page moreoften than the “case_1” page, the user spent more time on the “case_1”page.

FIG. 19 shows a page at which a user can identify documents that have tobe validated. In this example, a user selected the “Add document”element 1910. In response, the computing system presented a dialog box1920 with which the user was able to identify a document. The user isthen able to designate a “regulatory,” or person that is to review thedocument to identify whether it is valid (e.g., using the dialog box1920).

A user that is designated as a regulatory may be able to review thedocument and provide input to indicate that the document is eithervalidated or refused. The user interface that is shown in FIG. 19 mayindicate each document that the particular user has added (along withpotentially other users of the same organization), along with aninterface element for each document that indicates whether the documentis “Waiting for validation,” is “Validated,” or is “Rejected.” Thosedocuments that are validated may be made available for inclusion in thelist of assets (see FIG. 5).

FIG. 20 shows a user interface with which a user at computing device 110is able to create a social network page. This example includes threevertical “walls.” Each wall may include a stream of zero or more socialnetwork posts. The user of the computing device may create a new wall byselecting the “Add new wall+” element 2010. In response, the computingsystem may add a new wall (a fourth wall in this example). The user mayprovide input to change a name for the wall, and the wall may indicatethe user that created the wall (here Eric Dupont). The user may also adda status post to the wall or a picture. In this example, the wall“Andy's conversation with his sales reps” includes a status update post2020 that states “We're doing great in MM” and a photo post 2030 thatstates “here's a morning picture to motivate you. Sales from yesterday.”The web page that is shown in FIG. 20 may indicate how many users haveliked and disliked certain posts, along with any comments on the posts.The user may provide input to specify which representatives are to beshown which walls. In other words, some walls may only go to certainrepresentatives, so that a representative may see a subset of the walls.

FIG. 21 shows how the social network user interface appears on theclient devices (e.g., client devices 130 a-c). The user interface thatis shown in FIG. 21 may appear as a result of a user selecting an iconat the top of the user interface for a client device (e.g., an icon thatappears to the right of icons 1422-1430 in FIG. 14). This user interfaceonly shows a single wall, for example, because the system may notdisplay walls that include no posts, or because the other walls may nothave been designated for presentation to the user of the client device.

FIG. 22 shows a user interface from which to make apresentation-creation product. This feature is referred to as “Dialog”in the screenshots, and generally provides an ability to create a set ofassets and slides from which presentations can be made, and to enablethe creation of presentations from those slides. FIG. 22 shows a userinterface that includes multiple graphical elements 2210 a-f thatrepresent multiple such presentation-creation products. The userinterface also includes a graphical element 2220 that a user can selectto create a new presentation-creation product.

FIG. 23 shows a user interface from which a user defines generalcharacteristics for a presentation-creation product. In this example, auser is able to select a checkbox element 2310 to specify whether usersof client devices are allowed to create custom presentations from thecollection of slides that are specified for the presentation-creationproduct (described later in this document). The user can also select aproduct thumbnail and a splash screen by selecting respective elements2320 and 2330. The user can select the various template colors for thekey message, the key message background, and theicons/buttons/breadcrumbs using the elements 2332, 2334, and 2336,respectively. Upon selection of any one of those items, a color map mayappear that allows the user to select the color for the respective itemsof the slide templates. Upon user selection of the preview element 2340,the slide preview screen 2350 is presented, which shows the template forthe slide with the user-specified colors for the respective features.

A user may select the “Assets” element from the bar of elements 2311 atthe top of the page to navigate to the user interface that is presentedin FIG. 24. At this interface, a user may add one or more images,animated HTML documents, PDF documents, videos, and references, byselecting the respective element from the bar of elements 2321 and thenselecting an add new asset element (e.g., such as element 2331). Inresponse to selection of element 2331, the user may be able to select anelement that was included in the list of assets specified in the userinterface of FIG. 5.

The middle portion of FIG. 24 includes a cutout 2351 that shows the userinterface that is presented upon selection of the references element2333. This interface shows that a user has already specified a singlereference called “Dommer A et al. Journal of Busted Ear Drums, November1982.” A user has also selected the “Add reference” element, and inresponse the computing device has presented the dialog box 2361. Throughuser interaction with this dialog box, a user is able to specify a namefor the reference in a text filed, and can specify an optionaladditional asset (e.g., a PDF file) that is to be presented when thereference is selected upon presentation on a slide.

FIG. 25 shows an interface from which a user may view the slides thathave been created for a particular presentation-creation product, andmay create new slides for such a process. In this illustration, slideshave yet to be created, but user input has selected the new slideselement 2510. In response, the computing device has presented the dialogbox 2520, from which a user is able to select any of multiple images oranimated HTML files to display as the backdrop to a slide. The imagesand animated HTML files that are presented in the dialog box 2520 may belimited to those that were specified in the assets user interface ofFIG. 24.

The computing device may next present the dialog box 2610 that is shownin FIG. 26. Through user interaction with this interface, a user is ableto add a video (e.g., by selecting the element 2620) or a new reference(e.g., by selecting the element 2630). The videos and references fromwhich a user is able to select to be presented as part of a slide may bethose specified in the assets user interface of FIG. 24.

FIG. 27 shows a “Sections” user interface page for a particularpresentation-creation product. With this interface, a user may create a“section” for slides, and add one or more slides to any given section.For example, a user may select the “+” element 2710 to create a newsection and then may assign a name to the section. Each section mayinclude a different “+” element (e.g., element 2720 a-c), and user inputmay select such an element to cause a dialog box to appear, from which auser can select any of the slides that were created and are presented inthe slides user interface (see FIG. 26).

FIG. 28 shows a presentations user interface with which a user is ableto view presentations that have been created for a particularpresentation-creation product, and is able to create a new presentation.In this example, the user has provided input to select the presentation“Today's presentation for Dr. Evil” from the list 2810 of presentations.That presentation includes seven slides, that are to be presented in theorder illustrated on the page (e.g., from left to right in the top row,and then down to the next row). The computing device may receive userinput that drags and drops the slides into different orders, and mayreceive user input selecting the element 2820 to add a new slide to thepresentation. The newly-added slide may be selectable from among apresentation of slides, as they are presented in the slides userinterface (FIG. 25) or the sections user interface (FIG. 26).

Alternatively or additionally, a user may select the “Add newpresentation” element 2830 to create a new presentation. The user may beable to provide input to specify a name for the new presentation andinput to identify a collection of slides to comprise the presentation. Auser may also select the “Custom” element 2840 to view a list of custompresentation that were created on client devices 130 a-c rather than oncomputing device 110, as described in additional detail below.

A user may add a presentation-creation product to the list of assets(see FIG. 3), and may be added to a tile as an asset that is to bepresented on the subpage for that tile FIG. 29 shows one such sub-page,which shows two presentation-creation products, including a presentationtitled “Essox.” User selection of the graphical element for the Essoxpresentation may cause the client device to navigate to the display thatis presented in FIG. 30.

FIG. 30 shows a user interface that presents multiple presentationscreated for a particular presentation-creation product. In this example,the user interface presents at least four presentations 3010 a-d,entitled “Full presentation,” “Hi,” “Jane Custom,” and “Efficacy.” Eachpresentation is shown with its creation date, its last update, and atleast some of the slides from the presentation. A user may provide inputto play the presentation through user selection of a “Play” element. Auser can edit a presentation (e.g., by adding or removing slides, orchanging an order of slides) by selecting an “Edit” element. A user candelete a presentation from display on their client device by selecting a“Delete” element.

FIG. 31 shows a user interface for creating a presentation using aclient device. This user interface may appear in response to receivinguser input that selected the “Compose your presentation” element 3020 inFIG. 30. The user interface may first appear with certain slides alreadyincluded at the top region 3110 of the page. This region may specifywhich slides are to be included in the custom presentation, and some ofthe slides may be mandatory, due to user selection of an element thatindicates that the slide is mandatory when creating the slide (e.g.,through user interaction a “mandatory” element presented by the userinterface of FIG. 25 or 26). The bottom portion 3120 of the pageincludes multiple section headers (e.g., “Home” and “Mechanism” ofaction) with the slides that are assigned to that section shown belowthat respective section header. A user can select a slide from thebottom portion 3120 and drag it to the top portion 3110 to add it to thecustom presentation. Upon adding a slide to the presentation, the slidemay appear checked in the bottom portion 3120. A user may also add apresentation title and description by selecting text boxes at the top ofthe page and entering appropriate text. A user can save the presentationby selecting the save element 3130. Upon saving, the custom presentationmay appear in the list of presentations that are shown in FIG. 30, andthe custom presentation (or data from which the presentation can begenerated) is transmitted for receipt by the computing system 120, andthe custom presentation is displayed in the list of custom presentationsthat are accessible through the user interface of FIG. 28.

FIG. 32 shows a playing of a presentation. In this example, a user hasprovided input to play the “Full presentation” 3010 a throughinteraction with the user interface that is shown in FIG. 30. A user maynavigate from one page to another in this presentation, in the orderdefined by user input when the presentation was made, for example, byselecting a back user interface element (not shown in FIG. 31 becausethe slide is the first slide), or a forward user interface element 3210.User contact with a bottom of the display (e.g., a triangle icon at thebottom or a sliding input that starts at the bottom and swipes towardthe middle) may cause the computing device to present the slide previewdialog box 3220. This dialog box may include a graphical preview of eachof the slides, and may allow a user to select a corresponding preview tocause navigation to that slide. As such, a user may view the slides thatare in the presentation and quickly jump to a desired slide.

A user may also filter the slides to show only slides that are assignedto a particular section by selecting a graphical element at the top leftof the page to cause presentation of the sections list 3230, which ispopulated with the title of each section of slides. User selection of anelement in the sections list 3230 that identifies a particular sectionmay cause the client device to show only the slides from that selectedsection. If a slide from another section is being presented, the clientdevice may switch to the first slide from the selected section thatappears in the list. Regardless, the slide preview dialog box 3220 maystill present all slides from the presentation.

User selection of reference element 3240 may cause the bottom of thedisplay to present any one or more references that were previouslyassigned to that slide. The reference may appear in a reference dialogbox 3250 at the bottom of the slide (in this example it is shown belowthe presentation of the slide because dialog box 3220 is already beingpresented, for illustrative purposes).

User selection of the movie element 3242 may cause the client device tooverlay the presentation of the slide with a movie that was previouslyassigned to the slide. User selection of the backup slide element 3244may cause the client device to overlay the presentation of the slidewith a presentation of a backup slide that was assigned to the slide.User selection of the home element 3246 may cause user navigation toeither the overview page of the respective navigation user interface orthe subpage to which the presentation-creation product is assigned.

FIGS. 33A-B show flowcharts of a process for creating and using apresentation-creation product.

At box 3302, a computing device (e.g., device 110) receives user inputthat specifies a name for a first presentation-creation product. Forexample, user input may interact with the display of FIG. 23 to providea name for a presentation-creation product. As described throughout thisdocument, indications of actions that are performed by the computingdevice 110 may be provided to computing system 120. As such, portions ofthis disclosure may refer to the computing system receiving anindication that the first computing device received user input tospecify a name for the presentation-creation product.

At box 3304, the computing device receives user input that adds multipleassets for use in the presentation-creation product. For example, userinput may add images, HTML files, PDFs, videos, and references throughinteraction with the user interfaces that are shown in FIG. 24 anddescribed therewith.

At box 3306, the computing device receives user input that createsmultiple slides for the presentation-creation product. For example, userinput may interact with the user interfaces in FIGS. 25 and 26 to add animage to the slide (e.g., as a background or main content of the slide),or an HTML file for the slide (box 3308). If the content is an HTMLfile, that HTML file may be rendered by a web browser rendering engineat the client device when the slide is displayed by the client deviceand the HTML file may be interactive, such that user interaction withlinks and buttons on the web page may cause the display to navigate toanother page, all while staying on the same slide with the same list ofreferences and other assets that are associated with the slide.

At box 3310, user input adds a secondary slide and/or a reference to theslide. For example, through user interaction with element 2640 (FIG.26), the user may add a reference to the slide. Through user interactionwith the same user interface (or another user interface) a user may adda slide that is considered a backup slide and that is shown overlaid itsparent slide upon user selection at a client device of an appropriateinterface element.

At box 3312, user input assigns a first portion of slides to a firstsection and a second portion of slides to a second section. For example,user interaction with the interface that is shown in FIG. 27 can assignvarious slides to various sections, and create new sections. Slides maybe assigned to more than one section in some examples.

At box 3314, user input selects slides to comprise a first presentation.For example, user interaction with the interface that is shown in FIG.28 assigns slides to existing or new presentations, and can arrange anorder of those slides.

At box 3316, user input can specify that a slide is mandatory. The userinput may be provided when the slide is created or when that slide islater edited (e.g., through interaction with the interfaces shown inFIGS. 25 and 26).

At box 3318, user input selects slides to comprise a secondpresentation, similar to what was done at box 3314 but for a differentpresentation.

At box 3350, a client device presents an element identifying apresentation-creation product. For example, the client device 330 a maypresent the graphical element that previews the “Essox”presentation-creation product in the user interface of FIG. 29.

At box 3352, the client device receives user input that selects anelement identifying a presentation-creation product. For example, userinput at the client device 330 a may select the “Essox”presentation-creation product element.

At box 3354, the client device, in response, presents elementsassociated with a first presentation and a second presentation thatbelong to the presentation-creation product. For example, theclient-device may present the interface of FIG. 30, which shows elementsthat are associated with at least four different presentations.

At box 3356, user input selects the element that is associated with thefirst presentation. For example, user input may select the title, sliderepresentation, or “Play” elements for the “Full presentation.”

At box 3358, the client device presents the selected presentation. Forexample, the client device 330 may present the user interface that isillustrated in FIG. 32. Through interaction with this user interface, auser is able to filter out presentation of slides other than those froma selected section (box 3360), for example, by selecting a section frommenu 3230 to cause the main display to cause navigation through onlyslides in that section (e.g., even though only the first, fifth, andsixth slides may be from a section, after filtering, those slides mayappear first, second, and third in order, with no other slides beingnavigable through the previous and next elements).

In some examples, the slide may present its background as a web pagethat was generated from an HTML file rather than an image (box 3362).The background may modify in response to user interaction with the HTMLfile that, for example, selects a link that causes navigation to anotherweb page.

In some examples, the slide may present a reference (box 3364). Forexample, the reference 3250 (FIG. 32) may appear in response to userselection of element 3240.

In some examples, the slide may present a secondary slide (box 3366).For example, the secondary slide may appear over a majority or all ofthe slide that is shown in FIG. 32 in response to user selection ofelement 3244.

FIGS. 34A-C show a swim-lane diagram of a process for distributing adocument subject to an approval process.

At box 3402, the computing device (e.g., computing device 110) displaysa group of assets that are subject to approval. For example, a user mayhave navigated to the user interface that is displayed in FIG. 5, whichshows the user's asset library and allows a user to add files to thatlibrary. The user may have selected the “Import from Zinc” element 506,and in response the computing system may have presented a dialog box ornavigated to another display to allow a user to select one or more ofmultiple assets that are subject to an approval process.

As a general overview, a remote system (here coined with the name“Zinc”) may serve as a single source of truth for certain documents thatmay require approval by one or more people, and that may be occasionallyupdated. As an example, an image that displays information on amedication may involve the collaboration of multiple people, and one ormore people may have the ability to “approve” the image for distributionto another service, which in this example is the service for creatingnavigation user interfaces. During the collaborative project, the image(or any other asset subject to the approval process, such as PDFdocuments, videos, and HTML documents) may be presented in the userinterface with other assets that are subject to the approval process(and therefore may be awaiting approval or already approved). One ormore of these assets may be selected for inclusion in a library ofassets, even though they have yet to be approved.

At box 3404, the approval computing system (e.g., the system thatmanages the collaborative effort to modify the asset and accept userinput that approves the asset) may provide a list of assets that aresubject to the approval process for receipt by a requesting device. Inthis example, the approval system is shown as providing the list ofassets that are subject to approval to the computing system at box 3406,which provides it to the computing device, or alternatively directly tothe computing device.

At box 3408, the computing device receives user input that selects oneof the assets from the list of assets that are subject to approval. Thecomputing device communicates this selection to either the computingsystem (illustrated by optional box 3406) or to the approval system.

At box 3410, the approval system 3410 provides information regarding theselected asset for receipt by the computing system. This information mayinclude an approval status of the selected asset (e.g., approved or notapproved), along with a name of the selected asset, and a type of theselected asset.

At box 3412, the computing device displays the selected asset as part ofa collection of assets. For example, the user interface of FIG. 5 thatdisplays the library of assets may display an indication of a document512 titled “symmetryk-zinc-test.pdf” along with several other assets.

At box 3414, the computing device indicates that the selected asset issubject to approval. For example, the indication of the document 512 mayinclude a “Z” next to the document to indicate that the document is onethat is subject to approval (regardless whether that document may yet beapproved). In other examples, the indication of the document may beshaded a different color or have a different font to indicate that thedocument is subject to approval.

At box 3416, the computing device indicates that other assets are notsubject to approval. For example, other indications of assets in thelist of assets may not include a “Z” next their respective names.

In this illustration, the computing device is illustrated ascommunicating with the computing system at box 3406 for various actions.The presence of box 3406 is presented to illustrate that some or all ofthe operations provided by the computing device are processed andprovided under a client/server model, as described throughout thisdocument. Each interaction is not described in detail with reference tothis diagram for simplicity, but it should be understood that each userinput at the computing device could be reported to the computing system,which could provide responsive assets back to the computing device fordisplay.

At box 3420, the computing device displays the status of assets that aresubject to approval. For example, the user interface that is presentedin FIG. 35 may present a listing of those assets in the library ofassets and that are subject to approval. In this illustration, assets3502 and 3504 represent files that have been added to the library. Theuser interface indicates the status of each asset (here both are listedas being “Approved,” but an alternative status may be “AwaitingApproval”). The user interface also includes a “Briefcases” icon to theright for each icon, which when selected may cause the computing deviceto present a list of one or more briefcases to which the asset has beenassigned.

At box 3422, the approval system provides the status of the assets thatare subject to approval and that are in the asset library. For example,the above-described indication in FIG. 35 regarding whether each assetis Approved or Awaiting Approval may be provided by the approval system.This indication may be provided to the computing system, which thenprovides the information for receipt by the computing device, but thispiecewise description of client/server functioning is omitted forsimplicity.

At box 3424, the computing device receives user input that selectssettings for assets. Again with reference to FIG. 35, user selection ofelement 3512 may cause the computing device to replace items displayedat portion 3513 with the display illustrated at section 3514 (a user maynavigate back to the display of portion 3513 by selecting element 3510).Portion 3514 may include an element for enabling/disabling auto import3518, an element for enabling disabling auto resync 3520, and an elementfor enabling/disabling auto remove 3522. Enabling auto import may causeclient devices to automatically receive a newly-approved file upon theclient device connecting to the computing system (althoughnewly-approved files may not be provided after client device connectionto the computing, such as 30 minutes after logging in or otherwiseconnecting). Enabling auto resync may cause client devices toautomatically receive newly-approved files at any time when they arelogged in. As such, a device that has been logged in or otherwiseconnected to the computing system for 30 minutes may suddenly receive anewly-approved file. Enabling auto remove may cause client devices toautomatically delete assets or remove access to assets that have losttheir authorization.

At box 3426, the computing device selects an asset for a navigation userinterface. For example, as discussed with respect to FIG. 9, a user mayadd to a tile an asset that is subject to an approval process. The assetmay also be added as a background image for a tile, or in some examplesas a background image, video, or file for a slide of a presentationcreated through a presentation-creation product. In some examples, theasset may be added even if that asset has not yet been approved. In someexamples, the asset may be added only after it has been approved.

At box 3428, the computing device receives user input that selects oneor more recipients for a navigation user interface (and by inferenceselects recipients for the asset that is subject to the approvalprocess). For example, a user of the computing device interacts with theuser interface of FIG. 10 to designate recipients for the navigationuser interface that includes the asset that is subject to approval.

At box 3430, the computing system provides the navigation user interfacefor receipt by one or more client devices that correspond to useraccounts for the designated recipients, for example, in response to userinput that selects the “Add” buttons in FIG. 10.

At box 3432, the client device displays the presentation. For example,the client device may receive from the computing system information fromwhich to generate a display of the navigation user interface. Should anasset that is subject to approval not yet be approved, the client devicemay not display an indication of that asset, or may display it in anon-selectable state (e.g., as plain text rather than as a selectablelink) when the asset is presented on a subpage for a tile. If the assetwas to be a background image for a tile or a slide, but the asset is notyet approved, the client device may display a default image or no imageas the background image for the tile or slide.

At box 3460, the approval system may have received user input approvinga particular asset, and may provide an indication that the asset wasapproved to the computing system. The computing system may forward thisapproval to the computing device which may (at box 3462) update thestatus for the particular asset to indicate that the asset is nowapproved (e.g., in the user interface of FIG. 35).

At box 3466, the computing system sends the approved asset to the clientdevice. In other examples, the computing system sends information to theclient device that indicates to the client device that the asset isapproved and that the client device is able to access the asset, eventhough the client device may obtain the asset from another source (e.g.,over the internet from a different computer). This operation may beperformed without user input that specifies that the asset is to beprovided to the client device, at least after the computing systemreceived the indication that the asset was approved. In other words, thecomputing system may automatically perform operations to cause theclient device to automatically update its user interfaces to provideaccess to the asset once that asset is approved by the approval system.

At box 3468, the computing system may display an updated presentation,for example, by listing the asset in a list of assets for a subpage of atile.

At box 3470, the approval system may indicate that the asset has beenupdated. For example, the computing system may effectively be“subscribed” to an asset, and the collaboration on that asset may beongoing such that the approval system may occasionally issue anindication that there is an updated version of the asset available uponuser receipt of same by the approval system.

At box 3472, the computing device may update its status to indicate thatthe asset has been updated (e.g., the user interface of FIG. 35 mayupdate to list a new version number for the asset, although the userinterface may still indicate that the asset is approved).

At box 3476, the computing system sends the updated asset to the clientdevice. For example, much as with the operations of box 3466, thecomputing system may provide the client device with an updated versionof the asset.

At box 3478, the computing system may display an updated presentation.For example, the previous version of the asset may be replaced with thenew version of the asset, such that when a user selects the link for theasset, the presented asset may be different.

At box 3480, the approval system may send out an indication that theasset is no longer approved, for example, because a user of the approvalsystem determined that the document was out of date or not in compliancewith regulations and that the document should not be shown on clientdevices anymore.

At box 3482, the computing device may update the status for therespective asset to indicate that the asset is no longer approved, forexample, by updating the status for an asset in the user interface ofFIG. 35 to indicate that “Not Approved” or “Approval Removed.”

At box 3486, the computing system may send the recipient client devicean indication that the device is to remove access to the asset.

At box 3488, the client device may receive the indication to removeaccess, and may display an updated presentation. For example, should theasset have been listed on a subpage for a tile, the client device mayremove the indication of that asset on that subpage, or may cause theindication of that asset on the subpage to change from a link tonon-selectable text. In some examples, the client device may remove theasset from its memory.

FIG. 36 shows a user interface for creating a survey. In this userinterface, a user can add a new survey through selection of element3610. The interface also shows a list of existing surveys, with eachsurvey in the list indicating a start date, and end date, a time zone, astate of the survey (e.g., either pending, running, or completing), anda participation or number of users in the survey.

FIG. 37 shows a user interface for creating a survey. This userinterface may be presented in response to user selection of element 3610(FIG. 36). With this interface, a user may use elements 3710 to select anew question type (e.g., by dragging and dropping it to the “Dropquestion here” element), which causes the question to then be added tothe left side of the display and for which a user can then edit variousfields for the question. In this example, Question 1 is a multiplechoice question, Question 2 is a unique choice question, and Question 3is a scale question. A user may use elements 3720 to specify therepresentatives to which the survey is to be distributed, and the startdate and end date for the survey. A user may also select the “Launchsurvey now” button to cause the computing system 120 to transmitinformation to the appropriate client devices for displaying the survey.

FIG. 38 shows what a single question of a survey looks like on a clientdevice, in this example, Question 3. As an example, the survey may bedefined on the computing device 110, information identifying thatdefinition may be provided to the computing system 120, and thecomputing system may provide information for receipt by designatedrecipients on their respective client devices to cause those device topresent a sequence of interfaces like that shown in FIG. 38.

FIG. 39 shows how the results of the survey are presented after thesurvey questions are distributed to the client devices and users takethe surveys. For example, this interface shows that a single personanswered “Good” to the question “How are you?” and a single personanswered “Sometimes” to the question “Are you having fun in your job?”This interface indicates, at the top right, that the survey wasdistributed to 10 people and 1 had responded for a participation rate of10%. A user is able to stop the survey so that it is no longeraccessible on the client devices to which it was distributed byselecting the “Stop survey now” button.

Referring now to FIG. 40, a conceptual diagram of a system that may beused to implement the systems and methods described in this document isillustrated. In the system, mobile computing device 4010 can wirelesslycommunicate with base station 4040, which can provide the mobilecomputing device wireless access to numerous hosted services 4060through a network 4050.

In this illustration, the mobile computing device 4010 is depicted as ahandheld mobile telephone (e.g., a smartphone, or an applicationtelephone) that includes a touchscreen display device 4012 forpresenting content to a user of the mobile computing device 4010 andreceiving touch-based user inputs. Other visual, tactile, and auditoryoutput components may also be provided (e.g., LED lights, a vibratingmechanism for tactile output, or a speaker for providing tonal,voice-generated, or recorded output), as may various different inputcomponents (e.g., keyboard 4014, physical buttons, trackballs,accelerometers, gyroscopes, and magnetometers).

Example visual output mechanism in the form of display device 4012 maytake the form of a display with resistive or capacitive touchcapabilities. The display device may be for displaying video, graphics,images, and text, and for coordinating user touch input locations withthe location of displayed information so that the device 4010 canassociate user contact at a location of a displayed item with the item.The mobile computing device 4010 may also take alternative forms,including as a laptop computer, a tablet or slate computer, a personaldigital assistant, an embedded system (e.g., a car navigation system), adesktop personal computer, or a computerized workstation.

An example mechanism for receiving user-input includes keyboard 4014,which may be a full qwerty keyboard or a traditional keypad thatincludes keys for the digits ‘0-9’, ‘*’, and ‘#.’ The keyboard 4014receives input when a user physically contacts or depresses a keyboardkey. User manipulation of a trackball 4016 or interaction with a trackpad enables the user to supply directional and rate of movementinformation to the mobile computing device 4010 (e.g., to manipulate aposition of a cursor on the display device 4012).

The mobile computing device 4010 may be able to determine a position ofphysical contact with the touchscreen display device 4012 (e.g., aposition of contact by a finger or a stylus). Using the touchscreen4012, various “virtual” input mechanisms may be produced, where a userinteracts with a graphical user interface element depicted on thetouchscreen 4012 by contacting the graphical user interface element. Anexample of a “virtual” input mechanism is a “software keyboard,” where akeyboard is displayed on the touchscreen and a user selects keys bypressing a region of the touchscreen 4012 that corresponds to each key.

The mobile computing device 4010 may include mechanical or touchsensitive buttons 4018 a-d. Additionally, the mobile computing devicemay include buttons for adjusting volume output by the one or morespeakers 4020, and a button for turning the mobile computing device onor off. A microphone 4022 allows the mobile computing device 4010 toconvert audible sounds into an electrical signal that may be digitallyencoded and stored in computer-readable memory, or transmitted toanother computing device. The mobile computing device 4010 may alsoinclude a digital compass, an accelerometer, proximity sensors, andambient light sensors.

An operating system may provide an interface between the mobilecomputing device's hardware (e.g., the input/output mechanisms and aprocessor executing instructions retrieved from computer-readablemedium) and software. Example operating systems include ANDROID, CHROME,IOS, MAC OS X, WINDOWS 7, WINDOWS PHONE 7, SYMBIAN, BLACKBERRY, WEBOS, avariety of UNIX operating systems; or a proprietary operating system forcomputerized devices. The operating system may provide a platform forthe execution of application programs that facilitate interactionbetween the computing device and a user.

The mobile computing device 4010 may present a graphical user interfacewith the touchscreen 4012. A graphical user interface is a collection ofone or more graphical interface elements and may be static (e.g., thedisplay appears to remain the same over a period of time), or may bedynamic (e.g., the graphical user interface includes graphical interfaceelements that animate without user input).

A graphical interface element may be text, lines, shapes, images, orcombinations thereof. For example, a graphical interface element may bean icon that is displayed on the desktop and the icon's associated text.In some examples, a graphical interface element is selectable withuser-input. For example, a user may select a graphical interface elementby pressing a region of the touchscreen that corresponds to a display ofthe graphical interface element. In some examples, the user maymanipulate a trackball to highlight a single graphical interface elementas having focus. User-selection of a graphical interface element mayinvoke a pre-defined action by the mobile computing device. In someexamples, selectable graphical interface elements further oralternatively correspond to a button on the keyboard 4004.User-selection of the button may invoke the pre-defined action.

In some examples, the operating system provides a “desktop” graphicaluser interface that is displayed after turning on the mobile computingdevice 4010, after activating the mobile computing device 4010 from asleep state, after “unlocking” the mobile computing device 4010, orafter receiving user-selection of the “home” button 4018 c. The desktopgraphical user interface may display several graphical interfaceelements that, when selected, invoke corresponding application programs.An invoked application program may present a graphical interface thatreplaces the desktop graphical user interface until the applicationprogram terminates or is hidden from view.

User-input may influence an executing sequence of mobile computingdevice 4010 operations. For example, a single-action user input (e.g., asingle tap of the touchscreen, swipe across the touchscreen, contactwith a button, or combination of these occurring at a same time) mayinvoke an operation that changes a display of the user interface.Without the user-input, the user interface may not have changed at aparticular time. For example, a multi-touch user input with thetouchscreen 4012 may invoke a mapping application to “zoom-in” on alocation, even though the mapping application may have by defaultzoomed-in after several seconds.

The desktop graphical interface can also display “widgets.” A widget isone or more graphical interface elements that are associated with anapplication program that is executing, and that display on the desktopcontent controlled by the executing application program. A widget'sapplication program may launch as the mobile device turns on. Further, awidget may not take focus of the full display. Instead, a widget mayonly “own” a small portion of the desktop, displaying content andreceiving touchscreen user-input within the portion of the desktop.

The mobile computing device 4010 may include one or morelocation-identification mechanisms. A location-identification mechanismmay include a collection of hardware and software that provides theoperating system and application programs an estimate of the mobiledevice's geographical position. A location-identification mechanism mayemploy satellite-based positioning techniques, base station transmittingantenna identification, multiple base station triangulation, internetaccess point IP location determinations, inferential identification of auser's position based on search engine queries, and user-suppliedidentification of location (e.g., by receiving user a “check in” to alocation).

The mobile computing device 4010 may include other applications,computing sub-systems, and hardware. A call handling unit may receive anindication of an incoming telephone call and provide a user thecapability to answer the incoming telephone call. A media player mayallow a user to listen to music or play movies that are stored in localmemory of the mobile computing device 4010. The mobile device 4010 mayinclude a digital camera sensor, and corresponding image and videocapture and editing software. An internet browser may enable the user toview content from a web page by typing in an addresses corresponding tothe web page or selecting a link to the web page.

The mobile computing device 4010 may include an antenna to wirelesslycommunicate information with the base station 4040. The base station4040 may be one of many base stations in a collection of base stations(e.g., a mobile telephone cellular network) that enables the mobilecomputing device 4010 to maintain communication with a network 4050 asthe mobile computing device is geographically moved. The computingdevice 4010 may alternatively or additionally communicate with thenetwork 4050 through a Wi-Fi router or a wired connection (e.g.,ETHERNET, USB, or FIREWIRE). The computing device 4010 may alsowirelessly communicate with other computing devices using BLUETOOTHprotocols, or may employ an ad-hoc wireless network.

A service provider that operates the network of base stations mayconnect the mobile computing device 4010 to the network 4050 to enablecommunication between the mobile computing device 4010 and othercomputing systems that provide services 4060. Although the services 4060may be provided over different networks (e.g., the service provider'sinternal network, the Public Switched Telephone Network, and theInternet), network 4050 is illustrated as a single network. The serviceprovider may operate a server system 4052 that routes informationpackets and voice data between the mobile computing device 4010 andcomputing systems associated with the services 4060.

The network 4050 may connect the mobile computing device 4010 to thePublic Switched Telephone Network (PSTN) 4062 in order to establishvoice or fax communication between the mobile computing device 4010 andanother computing device. For example, the service provider serversystem 4052 may receive an indication from the PSTN 4062 of an incomingcall for the mobile computing device 4010. Conversely, the mobilecomputing device 4010 may send a communication to the service providerserver system 4052 initiating a telephone call using a telephone numberthat is associated with a device accessible through the PSTN 4062.

The network 4050 may connect the mobile computing device 4010 with aVoice over Internet Protocol (VoIP) service 4064 that routes voicecommunications over an IP network, as opposed to the PSTN. For example,a user of the mobile computing device 4010 may invoke a VoIP applicationand initiate a call using the program. The service provider serversystem 4052 may forward voice data from the call to a VoIP service,which may route the call over the internet to a corresponding computingdevice, potentially using the PSTN for a final leg of the connection.

An application store 4066 may provide a user of the mobile computingdevice 4010 the ability to browse a list of remotely stored applicationprograms that the user may download over the network 4050 and install onthe mobile computing device 4010. The application store 4066 may serveas a repository of applications developed by third-party applicationdevelopers. An application program that is installed on the mobilecomputing device 4010 may be able to communicate over the network 4050with server systems that are designated for the application program. Forexample, a VoIP application program may be downloaded from theApplication Store 4066, enabling the user to communicate with the VoIPservice 4064.

The mobile computing device 4010 may access content on the internet 4068through network 4050. For example, a user of the mobile computing device4010 may invoke a web browser application that requests data from remotecomputing devices that are accessible at designated universal resourcelocations. In various examples, some of the services 4060 are accessibleover the internet.

The mobile computing device may communicate with a personal computer4070. For example, the personal computer 4070 may be the home computerfor a user of the mobile computing device 4010. Thus, the user may beable to stream media from his personal computer 4070. The user may alsoview the file structure of his personal computer 4070, and transmitselected documents between the computerized devices.

A voice recognition service 4072 may receive voice communication datarecorded with the mobile computing device's microphone 4022, andtranslate the voice communication into corresponding textual data. Insome examples, the translated text is provided to a search engine as aweb query, and responsive search engine search results are transmittedto the mobile computing device 4010.

The mobile computing device 4010 may communicate with a social network4074. The social network may include numerous members, some of whichhave agreed to be related as acquaintances. Application programs on themobile computing device 4010 may access the social network 4074 toretrieve information based on the acquaintances of the user of themobile computing device. For example, an “address book” applicationprogram may retrieve telephone numbers for the user's acquaintances. Invarious examples, content may be delivered to the mobile computingdevice 4010 based on social network distances from the user to othermembers in a social network graph of members and connectingrelationships. For example, advertisement and news article content maybe selected for the user based on a level of interaction with suchcontent by members that are “close” to the user (e.g., members that are“friends” or “friends of friends”).

The mobile computing device 4010 may access a personal set of contacts4076 through network 4050. Each contact may identify an individual andinclude information about that individual (e.g., a phone number, anemail address, and a birthday). Because the set of contacts is hostedremotely to the mobile computing device 4010, the user may access andmaintain the contacts 4076 across several devices as a common set ofcontacts.

The mobile computing device 4010 may access cloud-based applicationprograms 4078. Cloud-computing provides application programs (e.g., aword processor or an email program) that are hosted remotely from themobile computing device 4010, and may be accessed by the device 4010using a web browser or a dedicated program. Example cloud-basedapplication programs include GOOGLE DOCS word processor and spreadsheetservice, GOOGLE GMAIL webmail service, and PICASA picture manager.

Mapping service 4080 can provide the mobile computing device 4010 withstreet maps, route planning information, and satellite images. Anexample mapping service is GOOGLE MAPS. The mapping service 4080 mayalso receive queries and return location-specific results. For example,the mobile computing device 4010 may send an estimated location of themobile computing device and a user-entered query for “pizza places” tothe mapping service 4080. The mapping service 4080 may return a streetmap with “markers” superimposed on the map that identify geographicallocations of nearby “pizza places.”

Turn-by-turn service 4082 may provide the mobile computing device 4010with turn-by-turn directions to a user-supplied destination. Forexample, the turn-by-turn service 4082 may stream to device 4010 astreet-level view of an estimated location of the device, along withdata for providing audio commands and superimposing arrows that direct auser of the device 4010 to the destination.

Various forms of streaming media 4084 may be requested by the mobilecomputing device 4010. For example, computing device 4010 may request astream for a pre-recorded video file, a live television program, or alive radio program. Example services that provide streaming mediainclude YOUTUBE and PANDORA.

A micro-blogging service 4086 may receive from the mobile computingdevice 4010 a user-input post that does not identify recipients of thepost. The micro-blogging service 4086 may disseminate the post to othermembers of the micro-blogging service 4086 that agreed to subscribe tothe user.

A search engine 4088 may receive user-entered textual or verbal queriesfrom the mobile computing device 4010, determine a set ofinternet-accessible documents that are responsive to the query, andprovide to the device 4010 information to display a list of searchresults for the responsive documents. In examples where a verbal queryis received, the voice recognition service 4072 may translate thereceived audio into a textual query that is sent to the search engine.

These and other services may be implemented in a server system 4090. Aserver system may be a combination of hardware and software thatprovides a service or a set of services. For example, a set ofphysically separate and networked computerized devices may operatetogether as a logical server system unit to handle the operationsnecessary to offer a service to hundreds of computing devices. A serversystem is also referred to herein as a computing system.

In various implementations, operations that are performed “in responseto” or “as a consequence of” another operation (e.g., a determination oran identification) are not performed if the prior operation isunsuccessful (e.g., if the determination was not performed). Operationsthat are performed “automatically” are operations that are performedwithout user intervention (e.g., intervening user input). Features inthis document that are described with conditional language may describeimplementations that are optional. In some examples, “transmitting” froma first device to a second device includes the first device placing datainto a network for receipt by the second device, but may not include thesecond device receiving the data. Conversely, “receiving” from a firstdevice may include receiving the data from a network, but may notinclude the first device transmitting the data.

“Determining” by a computing system can include the computing systemrequesting that another device perform the determination and supply theresults to the computing system. Moreover, “displaying” or “presenting”by a computing system can include the computing system sending data forcausing another device to display or present the referenced information.

FIG. 41 is a block diagram of computing devices 4100, 4150 that may beused to implement the systems and methods described in this document, aseither a client or as a server or plurality of servers. Computing device4100 is intended to represent various forms of digital computers, suchas laptops, desktops, workstations, personal digital assistants,servers, blade servers, mainframes, and other appropriate computers.Computing device 4150 is intended to represent various forms of mobiledevices, such as personal digital assistants, cellular telephones,smartphones, and other similar computing devices. The components shownhere, their connections and relationships, and their functions, aremeant to be examples only, and are not meant to limit implementationsdescribed and/or claimed in this document.

Computing device 4100 includes a processor 4102, memory 4104, a storagedevice 4106, a high-speed interface 4108 connecting to memory 4104 andhigh-speed expansion ports 4110, and a low speed interface 4112connecting to low speed bus 4114 and storage device 4106. Each of thecomponents 4102, 4104, 4106, 4108, 4110, and 4112, are interconnectedusing various busses, and may be mounted on a common motherboard or inother manners as appropriate. The processor 4102 can processinstructions for execution within the computing device 4100, includinginstructions stored in the memory 4104 or on the storage device 4106 todisplay graphical information for a GUI on an external input/outputdevice, such as display 4116 coupled to high-speed interface 4108. Inother implementations, multiple processors and/or multiple buses may beused, as appropriate, along with multiple memories and types of memory.Also, multiple computing devices 4100 may be connected, with each deviceproviding portions of the necessary operations (e.g., as a server bank,a group of blade servers, or a multi-processor system).

The memory 4104 stores information within the computing device 4100. Inone implementation, the memory 4104 is a volatile memory unit or units.In another implementation, the memory 4104 is a non-volatile memory unitor units. The memory 4104 may also be another form of computer-readablemedium, such as a magnetic or optical disk.

The storage device 4106 is capable of providing mass storage for thecomputing device 4100. In one implementation, the storage device 4106may be or contain a computer-readable medium, such as a floppy diskdevice, a hard disk device, an optical disk device, or a tape device, aflash memory or other similar solid state memory device, or an array ofdevices, including devices in a storage area network or otherconfigurations. A computer program product can be tangibly embodied inan information carrier. The computer program product may also containinstructions that, when executed, perform one or more methods, such asthose described above. The information carrier is a computer- ormachine-readable medium, such as the memory 4104, the storage device4106, or memory on processor 4102.

The high-speed controller 4108 manages bandwidth-intensive operationsfor the computing device 4100, while the low speed controller 4112manages lower bandwidth-intensive operations. Such allocation offunctions is an example only. In one implementation, the high-speedcontroller 4108 is coupled to memory 4104, display 4116 (e.g., through agraphics processor or accelerator), and to high-speed expansion ports4110, which may accept various expansion cards (not shown). In theimplementation, low-speed controller 4112 is coupled to storage device4106 and low-speed expansion port 4114. The low-speed expansion port,which may include various communication ports (e.g., USB, Bluetooth,Ethernet, wireless Ethernet) may be coupled to one or more input/outputdevices, such as a keyboard, a pointing device, a scanner, or anetworking device such as a switch or router, e.g., through a networkadapter.

The computing device 4100 may be implemented in a number of differentforms, as shown in the figure. For example, it may be implemented as astandard server 4120, or multiple times in a group of such servers. Itmay also be implemented as part of a rack server system 4124. Inaddition, it may be implemented in a personal computer such as a laptopcomputer 4122. Alternatively, components from computing device 4100 maybe combined with other components in a mobile device (not shown), suchas device 4150. Each of such devices may contain one or more ofcomputing device 4100, 4150, and an entire system may be made up ofmultiple computing devices 4100, 4150 communicating with each other.

Computing device 4150 includes a processor 4152, memory 4164, aninput/output device such as a display 4154, a communication interface4166, and a transceiver 4168, among other components. The device 4150may also be provided with a storage device, such as a microdrive orother device, to provide additional storage. Each of the components4150, 4152, 4164, 4154, 4166, and 4168, are interconnected using variousbuses, and several of the components may be mounted on a commonmotherboard or in other manners as appropriate.

The processor 4152 can execute instructions within the computing device4150, including instructions stored in the memory 4164. The processormay be implemented as a chipset of chips that include separate andmultiple analog and digital processors. Additionally, the processor maybe implemented using any of a number of architectures. For example, theprocessor may be a CISC (Complex Instruction Set Computers) processor, aRISC (Reduced Instruction Set Computer) processor, or a MISC (MinimalInstruction Set Computer) processor. The processor may provide, forexample, for coordination of the other components of the device 4150,such as control of user interfaces, applications run by device 4150, andwireless communication by device 4150.

Processor 4152 may communicate with a user through control interface4158 and display interface 4156 coupled to a display 4154. The display4154 may be, for example, a TFT (Thin-Film-Transistor Liquid CrystalDisplay) display or an OLED (Organic Light Emitting Diode) display, orother appropriate display technology. The display interface 4156 maycomprise appropriate circuitry for driving the display 4154 to presentgraphical and other information to a user. The control interface 4158may receive commands from a user and convert them for submission to theprocessor 4152. In addition, an external interface 4162 may be providein communication with processor 4152, so as to enable near areacommunication of device 4150 with other devices. External interface 4162may provided, for example, for wired communication in someimplementations, or for wireless communication in other implementations,and multiple interfaces may also be used.

The memory 4164 stores information within the computing device 4150. Thememory 4164 can be implemented as one or more of a computer-readablemedium or media, a volatile memory unit or units, or a non-volatilememory unit or units. Expansion memory 4174 may also be provided andconnected to device 4150 through expansion interface 4172, which mayinclude, for example, a SIMM (Single In Line Memory Module) cardinterface. Such expansion memory 4174 may provide extra storage spacefor device 4150, or may also store applications or other information fordevice 4150. Specifically, expansion memory 4174 may includeinstructions to carry out or supplement the processes described above,and may include secure information also. Thus, for example, expansionmemory 4174 may be provide as a security module for device 4150, and maybe programmed with instructions that permit secure use of device 4150.In addition, secure applications may be provided via the SIMM cards,along with additional information, such as placing identifyinginformation on the SIMM card in a non-hackable manner.

The memory may include, for example, flash memory and/or NVRAM memory,as discussed below. In one implementation, a computer program product istangibly embodied in an information carrier. The computer programproduct contains instructions that, when executed, perform one or moremethods, such as those described above. The information carrier is acomputer- or machine-readable medium, such as the memory 4164, expansionmemory 4174, or memory on processor 4152 that may be received, forexample, over transceiver 4168 or external interface 4162.

Device 4150 may communicate wirelessly through communication interface4166, which may include digital signal processing circuitry wherenecessary. Communication interface 4166 may provide for communicationsunder various modes or protocols, such as GSM voice calls, SMS, EMS, orMMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others.Such communication may occur, for example, through radio-frequencytransceiver 4168. In addition, short-range communication may occur, suchas using a Bluetooth, WiFi, or other such transceiver (not shown). Inaddition, GPS (Global Positioning System) receiver module 4170 mayprovide additional navigation- and location-related wireless data todevice 4150, which may be used as appropriate by applications running ondevice 4150.

Device 4150 may also communicate audibly using audio codec 4160, whichmay receive spoken information from a user and convert it to usabledigital information. Audio codec 4160 may likewise generate audiblesound for a user, such as through a speaker, e.g., in a handset ofdevice 4150. Such sound may include sound from voice telephone calls,may include recorded sound (e.g., voice messages, music files, etc.) andmay also include sound generated by applications operating on device4150.

The computing device 4150 may be implemented in a number of differentforms, as shown in the figure. For example, it may be implemented as acellular telephone 4180. It may also be implemented as part of asmartphone 4182, personal digital assistant, or other similar mobiledevice.

Additionally computing device 4100 or 4150 can include Universal SerialBus (USB) flash drives. The USB flash drives may store operating systemsand other applications. The USB flash drives can include input/outputcomponents, such as a wireless transmitter or USB connector that may beinserted into a USB port of another computing device.

Various implementations of the systems and techniques described here canbe realized in digital electronic circuitry, integrated circuitry,specially designed ASICs (application specific integrated circuits),computer hardware, firmware, software, and/or combinations thereof.These various implementations can include implementation in one or morecomputer programs that are executable and/or interpretable on aprogrammable system including at least one programmable processor, whichmay be special or general purpose, coupled to receive data andinstructions from, and to transmit data and instructions to, a storagesystem, at least one input device, and at least one output device.

These computer programs (also known as programs, software, softwareapplications or code) include machine instructions for a programmableprocessor, and can be implemented in a high-level procedural and/orobject-oriented programming language, and/or in assembly/machinelanguage. As used herein, the terms “machine-readable medium”“computer-readable medium” refers to any computer program product,apparatus and/or device (e.g., magnetic discs, optical disks, memory,Programmable Logic Devices (PLDs)) used to provide machine instructionsand/or data to a programmable processor, including a machine-readablemedium that receives machine instructions as a machine-readable signal.The term “machine-readable signal” refers to any signal used to providemachine instructions and/or data to a programmable processor.

To provide for interaction with a user, the systems and techniquesdescribed here can be implemented on a computer having a display device(e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor)for displaying information to the user and a keyboard and a pointingdevice (e.g., a mouse or a trackball) by which the user can provideinput to the computer. Other kinds of devices can be used to provide forinteraction with a user as well; for example, feedback provided to theuser can be any form of sensory feedback (e.g., visual feedback,auditory feedback, or tactile feedback); and input from the user can bereceived in any form, including acoustic, speech, or tactile input.

The systems and techniques described here can be implemented in acomputing system that includes a back end component (e.g., as a dataserver), or that includes a middleware component (e.g., an applicationserver), or that includes a front end component (e.g., a client computerhaving a graphical user interface or a Web browser through which a usercan interact with an implementation of the systems and techniquesdescribed here), or any combination of such back end, middleware, orfront end components. The components of the system can be interconnectedby any form or medium of digital data communication (e.g., acommunication network). Examples of communication networks include alocal area network (“LAN”), a wide area network (“WAN”), peer-to-peernetworks (having ad-hoc or static members), grid computinginfrastructures, and the Internet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

Although a few implementations have been described in detail above,other modifications are possible. Moreover, other mechanisms forperforming the systems and methods described in this document may beused. In addition, the logic flows depicted in the figures do notrequire the particular order shown, or sequential order, to achievedesirable results. Other steps may be provided, or steps may beeliminated, from the described flows, and other components may be addedto, or removed from, the described systems. Accordingly, otherimplementations are within the scope of the following claims.

What is claimed is:
 1. A computer-implemented method, comprising:receiving, by a computing system, an indication that an authoringcomputing device received user input that defined a navigation userinterface that is to be presented by multiple client devices, whereinthe navigation user interface defined by the user input includes a firstselectable interface element and a second selectable interface element;receiving, by the computing system, an indication that the authoringcomputing device received user input that specified a first collectionof files to be accessible to users of the multiple client devices uponselection of the first selectable interface element from a presentationof the navigation user interface; receiving, by the computing system, anindication that the authoring computing device received user input thatspecified a second collection of files to be accessible to users of themultiple client devices upon selection of the second selectableinterface element from the presentation of the navigation userinterface; providing, by the computing system and for receipt by theauthoring computing device, data that identifies a plurality ofindividuals that are candidates for display of the navigation userinterface; receiving, by the computing system, an indication that theauthoring computing device received user input that specified multipledifferent individuals, from among a presentation of the plurality ofindividuals, to which the navigation user interface is to be displayed,and in response identifying devices that are assigned to accounts of thespecified multiple individuals, wherein the identified devices includethe multiple client devices, wherein the specified multiple differentindividuals include a first individual that has an account to which afirst client device is assigned and a second individual that has anaccount to which a second client device is assigned; providing, by thecomputing system and for receipt by each of the multiple client devices,information that is configured to cause each of the multiple clientdevices to: (i) present the navigation user interface that was definedby the user input at the authoring computing device, includingpresentation of the first selectable interface element and the secondselectable interface element, (ii) provide user access to the firstcollection of files in response to user input at a respective clientdevice that selects the first selectable interface element, and (iii)provide user access to the second collection of files in response touser input at a respective client device that selects the secondselectable interface element; providing, by the computing system and forreceipt by the authoring computing device, information that isconfigured to cause the authoring computing device to present acollection of graphical elements that respectively represent differentnavigation user interfaces that are to be presented on various groups ofclient devices selected from a plurality of client devices, includingthe navigation user interface; receiving, by the computing system, anindication that user input at the authoring computing device selected aparticular graphical element from among the collection of graphicalelements, wherein the particular graphical element is assigned to thenavigation user interface; and providing, by the computing system andfor receipt by the authoring computing device, information that isconfigured to cause the authoring computing device to present, inresponse to the authoring computing device receiving the user input thatselected the particular graphical element, accessibility to variousinterface displays, including the navigation user interface, with whichuser input is able to: (i) add and remove selectable interface elementsto and from the navigation user interface, (ii) add files to and removefiles from the first collection of files, (iii) add files to and removefiles from the second collection of files, and (iv) add individuals toand remove individuals from the specified multiple different individualsto which the navigation user interface is to be displayed.
 2. Thecomputer-implemented method of claim 1, further comprising: receiving,by the computing system, an indication that the authoring computingdevice received user input that selected the first selectable interfaceelement; providing, by the computing system and for receipt by theauthoring computing device, information that is configured to cause theauthoring computing device to present, as a result of the authoringcomputing device receiving user input that selected the first selectableinterface element, an interface through which the authoring computingdevice received the user input that specified the first collection offiles; receiving, by the computing system, an indication that theauthoring computing device received user input that selected the secondselectable interface element; and providing, by the computing system andfor receipt by the authoring computing device, information that isconfigured to cause the authoring computing device to present, as aresult of the authoring computing device receiving user input thatselected the second selectable interface element, an interface throughwhich the authoring computing device received the user input thatspecified the second collection of files.
 3. The computer-implementedmethod of claim 1, wherein receiving the indication that the authoringcomputing device received user input that defined the navigation userinterface includes: receiving an indication that the authoring computingdevice received user input that specified a first size and shape for thefirst selectable interface element; receiving an indication that theauthoring computing device received user input that specified a secondsize and shape for the second selectable interface element; wherein thefirst size and shape for the first selectable interface element differsfrom the second size and shape for the second selectable interfaceelement.
 4. The computer-implemented method of claim 3, wherein: theuser input that specified the first size and shape for the firstselectable interface element includes user input that interacted with adisplay of the first selectable interface element to resize the firstselectable interface element; and the user input that specified thesecond size and shape for the second selectable interface elementincludes user input that interacted with a display of the secondselectable interface element to resize the second selectable interfaceelement.
 5. The computer-implemented method of claim 1, whereinreceiving the indication that the authoring computing device receiveduser input that defined the navigation user interface includes:receiving an indication that the authoring computing device receiveduser input that specified a first user-specified title and a firstuser-specified color for the first selectable interface element; andreceiving an indication that the authoring computing device receiveduser input that specified a second user-specified title and a seconduser-specified color for the second selectable interface element;wherein the first user-specified title differs from the seconduser-specified title; wherein the first user-specified color differsfrom the second user-specified color.
 6. The computer-implemented methodof claim 1, further comprising: receiving, by the computing system, anindication that the authoring computing device received (i) user inputto remove the second selectable interface element from the navigationuser interface and (ii) user input to add a third selectable interfaceelement to the navigation user interface; and providing, by thecomputing system and for receipt by each of the multiple client devicesafter the information has already been provided for receipt by each ofthe multiple client devices, second information that is configured tocause each of the multiple client devices to present the navigation userinterface with the first selectable interface element and a thirdselectable interface element included in the navigation user interface,and the second selectable interface element excluded from the navigationuser interface.
 7. The computer-implemented method of claim 1, furthercomprising: receiving, by the computing system, an indication that theauthoring computing device received (i) user input to remove the secondindividual as an individual to which the navigation user interface is tobe displayed, and (ii) user input to add a third individual as anindividual to which the navigation user interface is to be displayed,wherein a third client device is assigned to an account of the thirdindividual; providing, by the computing system and for receipt by thesecond client device, information that is configured to cause the secondclient device to remove access to the navigation user interface; andproviding, by the computing system and for receipt by the third clientdevice, information that is configured to cause the third client devicepresent the navigation user interface.
 8. The computer-implementedmethod of claim 1, further comprising: receiving, by the computingsystem before the information is provided for receipt by each of themultiple client devices, an indication that user input at the authoringcomputing device specified that the navigation user interface is to beaccessible at the first client device at a first date; and receiving, bythe computing system before the information is provided for receipt byeach of the multiple client devices, an indication that user input atthe authoring computing device specified that the navigation userinterface is to be accessible at the second client device at a seconddate; wherein the first date is different from the second date; whereinproviding the information for receipt by each of the multiple clientdevices includes the computing system providing the information forreceipt by the first client device at the first date and providing thefirst information for receipt by the second client device at the seconddate.
 9. The computer-implemented method of claim 1, further comprising:receiving, by the computing system, an indication that the first clientdevice presented a first file from among the first collection of filesin response to user input at the first client device requesting toaccess the first file; receiving, by the computing system, an indicationthat the second client device presented the first file from among thefirst collection of files in response to user input at the second clientdevice requesting to access the first file; receiving, by the computingsystem, an indication that the authoring computing device received userinput requesting to view a number of user accesses of the first file bythe multiple client devices; and providing, by the computing system andfor receipt by the authoring computing device, information that isconfigured to cause the authoring computing device to present anindication that the first client device accessed the first file and thatthe second client device accessed the first file.
 10. Thecomputer-implemented method of claim 1, further comprising: receiving,by the computing system, an indication that the first client devicepresented a first screen of a first file in response to user input atthe first client device requesting to navigate through screens of thefirst file; receiving, by the computing system, an indication that thesecond client device presented the first screen of the first file and asecond screen of the first file in response to user input at the secondclient device requesting to navigate through screens of the first file;receiving, by the computing system, an indication that the authoringcomputing device received user input requesting to view a number of useraccesses of the screens of the first file by the multiple clientdevices; and providing, by the computing system and for receipt by theauthoring computing device, information that is configured to cause theauthoring computing device to present: (i) an indication that the firstclient device and the second client device presented the first screen ofthe first file, and (ii) an indication that the second client devicepresented the second screen of the first file to the exclusion of thefirst client device presenting the second screen of the first file. 11.The computer-implemented method of claim 1, further comprising:receiving, by the computing system, a first screenshot that the firstclient device captured in response to user input at the first clientdevice to capture a screenshot; receiving, by the computing system, asecond screenshot that the first client device captured in response touser input at the first client device to capture a screenshot;receiving, by the computing system, an indication that the authoringcomputing device received user input requesting to view screenshots thatthe first client device captured in response to user input requests atthe first client device to capture screenshots; and providing, by thecomputing system and for receipt by the authoring computing device,information that is configured to cause the authoring computing deviceto present the first screenshot and the second screenshot that werecaptured at the first client device.
 12. A computing system, comprising:one or more processors; and one or more computer-readable devicesincluding instructions that, when executed by the one or moreprocessors, cause performance of operations, including: receiving, by acomputing system, an indication that an authoring computing devicereceived user input that defined a navigation user interface that is tobe presented by multiple client devices, wherein the navigation userinterface defined by the user input includes a first selectableinterface element and a second selectable interface element; receiving,by the computing system, an indication that the authoring computingdevice received user input that specified a first collection of files tobe accessible to users of the multiple client devices upon selection ofthe first selectable interface element from a presentation of thenavigation user interface; receiving, by the computing system, anindication that the authoring computing device received user input thatspecified a second collection of files to be accessible to users of themultiple client devices upon selection of the second selectableinterface element from the presentation of the navigation userinterface; providing, by the computing system and for receipt by theauthoring computing device, data that identifies a plurality ofindividuals that are candidates for display of the navigation userinterface; receiving, by the computing system, an indication that theauthoring computing device received user input that specified multipledifferent individuals, from among a presentation of the plurality ofindividuals, to which the navigation user interface is to be displayed,and in response identifying devices that are assigned to accounts of thespecified multiple individuals, wherein the identified devices includethe multiple client devices, wherein the specified multiple differentindividuals include a first individual that has an account to which afirst client device is assigned and a second individual that has anaccount to which a second client device is assigned; providing, by thecomputing system and for receipt by each of the multiple client devices,information that is configured to cause each of the multiple clientdevices to: (i) present the navigation user interface that was definedby the user input at the authoring computing device, includingpresentation of the first selectable interface element and the secondselectable interface element, (ii) provide user access to the firstcollection of files in response to user input at a respective clientdevice that selects the first selectable interface element, and (iii)provide user access to the second collection of files in response touser input at a respective client device that selects the secondselectable interface element; providing, by the computing system and forreceipt by the authoring computing device, information that isconfigured to cause the authoring computing device to present acollection of graphical elements that respectively represent differentnavigation user interfaces that are to be presented on various groups ofclient devices selected from a plurality of client devices, includingthe navigation user interface; receiving, by the computing system, anindication that user input at the authoring computing device selected aparticular graphical element from among the collection of graphicalelements, wherein the particular graphical element is assigned to thenavigation user interface; and providing, by the computing system andfor receipt by the authoring computing device, information that isconfigured to cause the authoring computing device to present, inresponse to the authoring computing device receiving the user input thatselected the particular graphical element, accessibility to variousinterface displays, including the navigation user interface, with whichuser input is able to: (i) add and remove selectable interface elementsto and from the navigation user interface, (ii) add files to and removefiles from the first collection of files, (iii) add files to and removefiles from the second collection of files, and (iv) add individuals toand remove individuals from the specified multiple different individualsto which the navigation user interface is to be displayed.
 13. Thecomputing system of claim 12, wherein the operations further comprise:receiving, by the computing system, an indication that the authoringcomputing device received user input that selected the first selectableinterface element; providing, by the computing system and for receipt bythe authoring computing device, information that is configured to causethe authoring computing device to present, as a result of the authoringcomputing device receiving user input that selected the first selectableinterface element, an interface through which the authoring computingdevice received the user input that specified the first collection offiles; receiving, by the computing system, an indication that theauthoring computing device received user input that selected the secondselectable interface element; and providing, by the computing system andfor receipt by the authoring computing device, information that isconfigured to cause the authoring computing device to present, as aresult of the authoring computing device receiving user input thatselected the second selectable interface element, an interface throughwhich the authoring computing device received the user input thatspecified the second collection of files.
 14. The computing system ofclaim 12, wherein receiving the indication that the authoring computingdevice received user input that defined the navigation user interfaceincludes: receiving an indication that the authoring computing devicereceived user input that specified a first size and shape for the firstselectable interface element; receiving an indication that the authoringcomputing device received user input that specified a second size andshape for the second selectable interface element; wherein the firstsize and shape for the first selectable interface element differs fromthe second size and shape for the second selectable interface element.15. The computing system of claim 14, wherein: the user input thatspecified the first size and shape for the first selectable interfaceelement includes user input that interacted with a display of the firstselectable interface element to resize the first selectable interfaceelement; and the user input that specified the second size and shape forthe second selectable interface element includes user input thatinteracted with a display of the second selectable interface element toresize the second selectable interface element.
 16. The computing systemof claim 12, wherein receiving the indication that the authoringcomputing device received user input that defined the navigation userinterface includes: receiving an indication that the authoring computingdevice received user input that specified a first user-specified titleand a first user-specified color for the first selectable interfaceelement; and receiving an indication that the authoring computing devicereceived user input that specified a second user-specified title and asecond user-specified color for the second selectable interface element;wherein the first user-specified title differs from the seconduser-specified title; wherein the first user-specified color differsfrom the second user-specified color.
 17. The computing system of claim12, wherein the operations further comprise: receiving, by the computingsystem, an indication that the authoring computing device received (i)user input to remove the second selectable interface element from thenavigation user interface and (ii) user input to add a third selectableinterface element to the navigation user interface; and providing, bythe computing system and for receipt by each of the multiple clientdevices after the information has already been provided for receipt byeach of the multiple client devices, second information that isconfigured to cause each of the multiple client devices to present thenavigation user interface with the first selectable interface elementand a third selectable interface element included in the navigation userinterface, and the second selectable interface element excluded from thenavigation user interface.
 18. The computing system of claim 12, whereinthe operations further comprise: receiving, by the computing system, anindication that the authoring computing device received (i) user inputto remove the second individual as an individual to which the navigationuser interface is to be displayed, and (ii) user input to add a thirdindividual as an individual to which the navigation user interface is tobe displayed, wherein a third client device is assigned to an account ofthe third individual; providing, by the computing system and for receiptby the second client device, information that is configured to cause thesecond client device to remove access to the navigation user interface;and providing, by the computing system and for receipt by the thirdclient device, information that is configured to cause the third clientdevice present the navigation user interface.
 19. The computing systemof claim 12, wherein the operations further comprise: receiving, by thecomputing system before the information is provided for receipt by eachof the multiple client devices, an indication that user input at theauthoring computing device specified that the navigation user interfaceis to be accessible at the first client device at a first date; andreceiving, by the computing system before the information is providedfor receipt by each of the multiple client devices, an indication thatuser input at the authoring computing device specified that thenavigation user interface is to be accessible at the second clientdevice at a second date; wherein the first date is different from thesecond date; wherein providing the information for receipt by each ofthe multiple client devices includes the computing system providing theinformation for receipt by the first client device at the first date andproviding the first information for receipt by the second client deviceat the second date.